J2SE
文章平均质量分 77
super_ozman
这个作者很懒,什么都没留下…
展开
-
JAVA反射机制之ClassLoader
Java程序运行过程: 1、classLoader将class文件加载到内存中CodeSegment 2、运行环境找到main方法开始执行 3、运行过程中更过的class被加载到内存中(即动态加载机制) 动态加载机制特点: 1、并非一次性加载; 2、需要的时候加载相应的class; 3、Static语句块在加载后执行一次; 4、Dynamic语句块每当new一个新的对象就执行一原创 2015-07-29 16:24:19 · 534 阅读 · 0 评论 -
JAVA反射机制
java反射机制增加了程序的灵活性 例如:实例化一个dog类,不使用反射,使用new dog();如果想实例化另一个cat类,则必须改写代码重新编译; 若是使用反射机制,class.forName("dog").newInstance();这个类的描述可也写在配置文件中,如果想实例化另一个类只需要改写配置文件中的类描述,无需重新编译 public class testReflection {原创 2015-07-29 20:42:07 · 308 阅读 · 0 评论 -
JAVA多线程1
Java多线程的实现: Java多线程是通过java.lang.thread类来实现的 VM启动时会有一个由主方法(public static void main(String[] args))所定义的线程 可以通过创建Thread类的实例来创建新线程。每个线程都是通过特定的Thread对象所对应的run()方法来完成其操作的,方法run()被称为线程体 通过调用Thread类的start()方法来原创 2015-07-30 16:09:25 · 339 阅读 · 0 评论 -
java多线程3--synchronized
synchronized是java的一个关键字,它保证了同一时刻最多只能有一个线程访问被synchronized修饰的代码块 synchronized特性: 1、object中被synchronized修饰的代码块同一时间只能由一个进程访问 2、当某个进程访问了synchronized修饰的代码块,其他进程仍然可以访问其他未被synchronized修饰的代码块 3原创 2015-08-01 19:10:23 · 314 阅读 · 0 评论 -
Java多线程2--线程控制
1、sleep()方法 sleep()是一个静态方法,可以通过类名直接调用,会抛出InterruptedException public class testSleep { public static void main(String[] args) { subThread st = new subThread(); Thread t = new Thread(st); t.s原创 2015-07-31 11:02:44 · 328 阅读 · 0 评论 -
java多线程4--死锁
死锁的产生: 举个例子说明,有两个线程分别是t1和t2,有两个对象分别为o1和o2,t1已经拿到了o1的对象锁只要再拿到o2的对象锁线程t1就能完成;同时,线程t2已经拿到了o2的对象锁,只要再拿到o1的对象锁线程t2也能完成。此时就产生了死锁问题。下面是一个简单的死锁的示例 public class testDeadLock { public static void main(Strin原创 2015-08-01 20:07:25 · 390 阅读 · 0 评论 -
java多线程6--线程池
线程池是管理并发执行任务的理想方法。java提供了Executor接口来执行线程池中的任务,提供了ExecutorService接口来管理和控制任务。ExecutorService是Executor的子接口。 示例: public class testExecutor { public static void main(String[] args) { Execut原创 2015-08-02 18:56:33 · 322 阅读 · 0 评论 -
java多线程5--资源访问权限
某个类包含一个同步方法A和一个非同步方法B,A和B都要访问该类的同一个成员变量C.问题是当线程T1拿到了对象锁且正在执行A,线程T2是否可以在执行B的时候访问成员变量C public class simpleTest { public static void main(String[] args) throws InterruptedException { final A a = new原创 2015-08-02 11:48:22 · 593 阅读 · 0 评论 -
java高级特性之泛型与通配符
参考传智播客视频 Java中的泛型基本上都是在编译器这个层次来实现的。在生成的Java字节码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会在编译器在编译的时候去掉。这个过程就称为类型擦除! 1. 泛型类:具有一个或多个类型变量的类,称之为泛型类! class A { } 2. 在创建泛型类实例时,需要为其类型变量赋值 A a = new A();原创 2016-02-15 15:54:16 · 505 阅读 · 0 评论