![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
黑夜不黑
好好生活
展开
-
xml约束及xml解析总结
xml有两种约束:DTD约束及schema约束 schema所具有的功能比DTD更为强大,schema有名称空间对同名的元素可以进行区分, schema可以更好的支持xml的语法规则,W3C推荐用schema替代DTD。 一般引入schema都要以下三个(包括自定义的约束) ...原创 2018-08-27 21:44:12 · 224 阅读 · 0 评论 -
java内部类
Java内部类一般分四种:成员内部类、局部内部类、静态内部类和匿名内部类,其实局部内部类是其他三种内部类的一个父概念。成员内部类(1) .成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员);(2).若成员内部类拥有和外部类同名的成员变量或者方法时,会发生隐藏现象,即默认情况下访问的是成员内部类的成员,如果要访问外部类的同名成员,需要以下面的形式进行访...原创 2018-11-16 15:45:12 · 66 阅读 · 0 评论 -
多线程学习六:Future与FutureTask
FutureTask是Future接口的一个唯一实现类,可以作为Runnable被线程执行,也可以作为Future得到Callable的返回值。 Future就是对于具体的Runnable或者Callable任务的执行结果进行取消、查询是否完成、获取结果。必要时可以通过get方法获取执行结果,该方法会阻塞直到任务返回结果。Future类位于java.util.concurrent包下,它是一个接口...原创 2018-11-15 16:45:53 · 277 阅读 · 0 评论 -
多线程学习五:线程池
和数据库连接池一样,为了提高系统效率,使用线程池可以使线程得到复用,下面详细讲解一下线程池。ThreadPoolExecutor、AbstractExecutorService、ExecutorService、Executor要理解线程池要先搞清楚ThreadPoolExecutor、AbstractExecutorService、ExecutorService和Executor,前两者为类...转载 2018-11-15 16:34:38 · 118 阅读 · 0 评论 -
多线程学习四:并发编程中的原子性、可见性、有序性
在并发编程中,我们要保证原子性、可见性、有序性,否则无法保证多线程最终的正确性。首先我们要对java内存模型有一个大致的概念,每一个线程都有独属于该线程的工作内存,当线程访问资源时先把资源从主存中拷贝一份到工作内存中,再执行操作,把结果先写入工作内存,再写入主存。Java内存模型规定所有的变量都是存在主存当中,每个线程都有自己的工作内存。线程对变量的所有操作都必须在工作内存中进行,而不能直接对主存...原创 2018-11-15 16:00:50 · 220 阅读 · 0 评论 -
final关键字
fianl可以修饰类、方法、变量。当用final修饰一个类时,表明这个类不能被继承,final类中的所有成员方法都会被隐式地指定为final方法。当用final修饰方法时表示此方法可以被子类调用,但不允许子类重写或修改此方法。对于一个final变量,如果修饰的是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象,但是对...转载 2018-11-15 15:51:02 · 81 阅读 · 0 评论 -
多线程学习三:Synchrounized与lock的一些点
一个对象只有一个对象锁,当一个线程获取该对象的对象锁后,其他线程就无法在获取此对象的对象锁。当程序异常时,对于synchronized方法或者synchronized代码块,jvm会自动释放当前线程所占用的锁,所以不存在由异常引发的死锁现象。Synchrounized和lock都能实现同步访问,Synchrounized属于java的内置关键字,执行完成后系统会自动使线程释放对象锁,而loc...原创 2018-11-09 17:46:22 · 186 阅读 · 0 评论 -
浅谈Java的一些概念
值传递与引用传递首先声明:严格意义上来说,Java中所有方法参数都是传值。因为即使是传递的参数是对象的引用时,引数本身也是传值的。所有基本类型都是传值的。传值:被传入的参数被视为内部的局域变量,其变化不影响外部变量的原始值。传引:对于引数本身来讲也是传值的,但是在方法内部若对引数所指向的对象属性有改变,则会直接实时地影响所指向的对象属性。阻塞和非阻塞,同步和异步阻塞:是指请求结果返回之...原创 2018-10-25 16:30:30 · 191 阅读 · 0 评论 -
子类继承父类后相应的输出顺序
用父类实例出一个子类对象,举例:public class A { //父类静态代码块 static { System.out.println("父类静态代码块执行了"); } //父类构造函数 public A(){ System.out.println("父类构造函数执行了"); }}public class B extends A{ //子类的静态代码块 sta...原创 2018-10-22 16:45:47 · 3655 阅读 · 0 评论 -
字符串学习
1.切割字符串split()与StringTokenizer()的区别StringTokenizer()对于java默认的分隔符“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”都不需要进行转义就可以直接对字符串进行切割,但对"+"、"*"、"$"、""这些符号同样需要转义后才能切割;而split()对上述所有的符号都要先转义后才能对字符串进行切割。public ...原创 2018-10-22 16:11:11 · 135 阅读 · 0 评论 -
多线程学习二
1.理解并发和并行在单CPU系统中,系统调度在某一时刻只能让一个线程运行,虽然这种调试机制有多种形式(大多数是时间片轮巡为主),但无论如何,要通过不断切换需要运行的线程让其运行的方式就叫并发(concurrent)。而在多CPU系统中,可以让两个以上的线程同时运行,这种可以同时让两个以上线程同时运行的方式叫做并行(parallel)。2.sleep(),join(),yield(),wait(...原创 2018-10-22 14:51:31 · 143 阅读 · 0 评论 -
多线程学习一
1.理解线程对象和线程在JAVA中,当JVM环境中运行一个程序时,JVM最先会产生一个主线程,由它来运行指定程序的入口点在这个程序中,即主线程从main方法开始运行。当main方法结束后,主线程运行完成。线程对象是JVM产生的一个普通的Object子类,而线程是CPU分配给这个对象的一个运行过程。 class MyThread extends Thread{ public vo...原创 2018-10-22 13:46:07 · 95 阅读 · 0 评论 -
注解学习
1.注解是什么 注解是具有一定功能和一定格式的语法,底层由反射机制实现,若要实现自定义注解,通过关键字@interface定义。 2.注解的优缺点 优点:开发效率高 成本低 缺点:耦合性大 并且不利于后期维护 注:注解是给JVM机看的,用于编译;而注释是给程序员看的,用于后期维护能够知道该代码的作者,功能等信息。 3.自定义注解在解析时要使用到元注解,元注解就是注解的注解,用于限制定义...原创 2018-09-14 12:44:51 · 102 阅读 · 0 评论 -
类加载器学习
1.什么是类加载器? 答:类加载器就是虚拟机中的一个组件,用于把编译器编译后的字节码文件(.class文件)加载到Java运行内存(jre)中形成字节码对象(class对象)。 注:Java源文件-jvm编译器->Java字节码文件-JVM类加载器 ->Java字节码对象 2.类加载器的种类: (1)BootStrap:引导类加载器,用于加载基础文件 (2)E...原创 2018-09-12 11:02:02 · 110 阅读 · 0 评论 -
事物学习总结
事物的特性有:原子性、一致性、隔离性、持久性 事物的隔离级别有四种: 甲向乙转账1000元为例说明: 1.read uncommitted(读取尚未提交的数据):乙会读到甲未提交的数据,即乙读到余额加了1000元,甲一旦回滚钱就会回甲那里,乙的余额又会变回去,这即是脏读; 2.read committed(读取提交后的数据):乙只能读到甲提交后的数据,甲不提交乙的余额并不会发生变化。在Or...原创 2018-08-28 17:43:56 · 171 阅读 · 0 评论 -
pl/sql如何导出单张表的数据
在你的数据库中找到你要导的数据表右键选择导出数据(Export data)进入到导数据界面选择插入语句导出,导出文件,如此便导出表中所有数据并可以被执行的文件,如图所示。...原创 2019-09-12 17:05:53 · 1488 阅读 · 0 评论