2020
09-28
09-28
Java泛型机制必要性及原理解析
泛型程序设计(GenericProgramming)“使用泛型机制编写的程序代码要比那些杂乱地使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性。泛型对于集合类尤其有用。”1.意义、必要性、重要性泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用。例如,我们并不希望为聚集String和File对象分别设计不同的类。实际上,也不需要这样做,因为一个ArrayList类就可以聚集任何类型的对象。这是一个泛型程序...
继续阅读 >
substring实现原理String是Java中一个比较基础的类,每一个开发人员都会经常接触到。而且,String也是面试中经常会考的知识点。String有很多方法,有些方法比较常用,有些方法不太常用。今天要介绍的subString就是一个比较常用的方法,而且围绕subString也有很多面试题。substring(intbeginIndex,intendIndex)方法在不同版本的JDK中的实现是不同的。了解他们的区别可以帮助你更好的使用他。为简单起见,后文中用substring()代表...
synchronized关键字,一般称之为”同步锁“,用它来修饰需要同步的方法和需要同步代码块,默认是当前对象作为锁的对象。同步锁锁的是同一个对象,如果对象发生改变,则锁会不生效。锁失败的代码:publicclassIntegerSynTest{//线程实现Runnable接口privatestaticclassWorkerimplementsRunnable{privateIntegernum;publicWorker(Integernum){this.num=num;}@Overridepublicvoidrun(){...
Volatile关键字--最轻量级的同步机制1.保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。(实现可见性)例如:如果一个oldvalue-->修改为newvalue,这时的newvalue可以被其他的线程看到。2.volatile不是线程安全的,只能保证对单次读/写的原子性。i++这种操作不能保证原子性。(不能保证原子性)最常使用场景:一写多读代码演示Volatile的可见性publicclassVola...
在idea中将创建的javaweb项目部署到Tomcat中采用的工具idea2018.3.6Tomcat71.先创建第一个新项目secondweb(注意勾选JavaEE下的webApplication(4.0),窗口下的version对应为4.0,并且保证createweb.xml已经被勾选)2.在创建好的web项目的web/WEB-INF目录下创建两个文件夹:classes和lib.classes用来存放编译后输出的class文件,lib用来存放第三方jar包(下图显示的是创建的web文件的目录结构)3.配置文件夹路径File->ProjectStr...