2者基本区别解析 java引用传递和值传递的区别( 三 )


设置对象属性
检查Aware相关接口并设置相关依赖
BeanPostPreocessor前置处理
检查是否是InitialliziingBean以决定是否调用afterPropertesSet方法
检查是否配置有自定义的init-method
BeanPostProcessor后置处理
注册必要的Destrunction相关回调接口
使用中
是否实现DisposableBean接口
是否配置有自定义的Destory方法
JDK、JRE、JVM的区别?JDK ( Java开发工具包)= JRE(Java运行环境) + 开发工具集(例如Javac编译工具等)
JRE (Java运行环境)= JVM (Java虚拟机)+ Java SE标准类库
值传递和引用传递的区别?值传递:会创建副本,函数中无法改变原始对象
引用传递:不会创建副本,函数中可以改变原始对象
值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值 。引用传递:也称为传地址 。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值 。4种访问控制符区别?访问权限类包子类其他包public∨∨∨∨protect∨∨∨×default∨∨××private∨×××装箱和拆箱,类型转换装箱:值类型转换为引用对象,一般是转换为System.Object类型或值类型实现的接口引用类型;拆箱:引用类型转换为值类型,注意,这里的引用类型只能是被装箱的引用类型对象;拆箱与装箱就是值类型与引用类型的转换throw和throws区别throw代表动作,表示抛出一个异常的动作;throws代表一种状态,代表方法可能有异常抛出;throw用在方法实现中,而throws用在方法声明中;throw只能用于抛出一种异常,而throws可以抛出多个异常 。PreparedStatement比Statement区别?第一:statement执行的SQL语句必须是一个完整的SQL,而对于PreparedStatement来说,可以使用“?”作为SQL语句当中的占位符,然后使用PreparedStatement的setXXX方法来给占位符赋值,最后在执行; 第二:使用Statement时,如果SQL当中出现了“‘”或者“-”等符号时,需要使用转义字符来进行转义,而在PreparedStatement当中,如果占位符的值当中有这些符号,PreparedStatement会自动的进行转义; 第三:PreparedStatement会讲SQL语句进行预编译,每次执行的时候只需要将参数设置给相应的占位符就可以运行 。而使用Statement时,SQL语句时每次都要进行编译,所以PreparedStatement的效率相对较高 。doGet()方法和doPost()方法区别?get方式 参数在地址栏中显示 通过?name=""&id=""这种形式传递的 不安全 只能传递2kb的能容post方式 底层是通过流的形式传递 不限制大小 上传的时候必须用Post方式 doGet:路径传参 。效率高,安全性差doPOST:实体传参 。效率第,安全性好null和undefind的区别?undefined是访问一个未初始化的变量时返回的值,而null是访问一个尚未存在的对象时所返回的值 。
Error和Exception的区别?Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正 。一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等 。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止 。Exception(异常)表示程序可以处理的异常,可以捕获且可能恢复 。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常 。阻塞和非阻塞以及同步和异步的区别?1. 同步,就是我调用一个功能,该功能没有结束前,我死等结果 。2. 异步,就是我调用一个功能,不需要知道该功能结果,该功能有结果后通知我(回调通知)3. 阻塞,就是调用我(函数),我(函数)没有接收完数据或者没有得到结果之前,我不会返回 。4. 非阻塞,就是调用我(函数),我(函数)立即返回,通过select通知调用者同步IO和异步IO的区别就在于:数据拷贝的时候进程是否阻塞阻塞IO和非阻塞IO的区别就在于:应用程序的调用是否立即返回事务的ACID和事务的隔离性?1)原子性(Atomic):事务中各项操作,要么全做要么全不做,任何一项操作的失败都会导致整个事务的失败;2)一致性(Consistent):事务结束后系统状态是一致的;3)隔离性(Isolated):并发执行的事务彼此无法看到对方的中间状态;4)持久性(Durable):事务完成后所做的改动都会被持久化,即使发生灾难性的失败 。通过日志和同步备份可以在故障发生后重建数据 。脏读:事务A读到了事务B未提交的数据 。不可重复读:事务A第一次查询得到一行记录row1,事务B提交修改后,事务A第二次查询得到row1,但列内容发生了变化,侧重于次数,侧重于update幻读:事务A第一次查询得到一行记录row1,事务B提交修改后,事务A第二次查询得到两行记录row1和row2,侧重于内容,侧重于insert线程的sleep和wait区别?sleep()不释放同步锁,wait()释放同步锁.sleep可以用时间指定来使他自动醒过来,如果时间不到你只能调用interreput()来强行打断;wait()可以用notify()直接唤起. sleep和wait的区别还有:1 。这两个方法来自不同的类分别是Thread和Object2 。最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法 。3 。wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用线程的状态(阶段)?创建、就绪、运行、阻塞、终止 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: