类加载的三种方式比较

虚拟机加载类的途径 1、由 new 关键字创建一个类的实例 在由运行时刻用 new 方法载入 如:Dog dog = new Dog(); 2、调用 Class.forName() 方法 通过反射加载类型,并创建对象实例 如:Class clazz ...

2017-10-16 10:34:30

阅读数 3545

评论数 0

构造方法

在子类继承父类的情况,创建子类对象,是先生成 父类对象再生成子类对象; 1.如果父类没有有参构造方法,子类会调用父类的无参构造方法,当然是隐式的,不用写出来,再调用自己的构造方法; 2.如果父类有有参构造方法,系统就不会默认创造一个无参的构造方法了,这时,子类需要显示的调用父类的有参构造方法,...

2017-09-27 10:32:14

阅读数 149

评论数 0

初识动态代理-jdk,CGLIB,拦截器

像代理服务器一样,你想访问真实服务器不直接访问而是通过一个中转站,代理服务器访问; 调用真实对象的一个方法不直接调用,而是通过产生的一个代理对象调用。代理分为两步:第一,先产生一个代理对象,并和真实的对象关联起来,产生代理关系;第二,实现代理对象的代理逻辑方法,这里一般都是由一个实现一个接口做的...

2017-09-05 16:41:39

阅读数 174

评论数 0

反射对象和方法

package 设计模式; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; class Person { String name = "renbin"...

2017-09-05 10:39:50

阅读数 151

评论数 0

HashMap相关知识点

HashMap:1、HashMap基本概念HashMap是储存键值对的数据储存结构,其底层实际是数组加链表的形式。一个key对应多个value,key和value也可以是null值,相对比的是Hashtable,不可以是null值;HashMap是线程不安全的,对比的是Hashtable,是线程安...

2017-09-02 10:59:23

阅读数 172

评论数 0

多线程练习-synochronized-notify/wait-lock/condition

子线程循环 10 次,接着主线程循环 100,接着又回到子线程循环 10 次, * 接着再回到主线程又循环 100,如此循环 50次,请写出程序 注意: 在Eclipse中:run-->Run Configurations-->Common-->Standard ...

2017-08-30 21:26:59

阅读数 186

评论数 0

CVTE笔试题

CVTE笔试题1、根据IP地址获取物理地址的协议是:ARP,地址解析协议,属于数据链路层;2、划分子网的问题:点这里,以前写的划分子网的题3、网关、路由器、交换机、网桥属于哪一个层次?4、中后缀序中后缀表达法5、快速排序:冒牌–>快速排序6、Mysql 基本语句7、static 块执行顺序:...

2017-08-27 14:33:52

阅读数 475

评论数 0

值传递和引用传递

1、对象是按引用传递的 2、Java 应用程序有且仅有的一种参数传递机制,即按值传递 3、按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本 4、按引用传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的内存地址,而不是值的副本 1.对象就是传引用...

2017-08-13 10:01:00

阅读数 77

评论数 0

JVM内存管理

1 物理内存和虚拟内存 通常在操作系统下,内存的管理是按照进程来管理的,每个进程会有独特的地址,独立的地址空间。这里的独立指的是逻辑上的相互独立。虚拟内存的出现让多个线程共享物理内存,但是还是在逻辑上保证不能相互访问; 2 内核空间和用户空间 内核空间是操作系统用来程序调度,连接硬件资源等所使用的...

2017-08-12 19:56:42

阅读数 122

评论数 0

类的加载机制

1.概述:虚拟机把class文件加载到内存,并对数据校验,解析,初始化,最终形成虚拟机可以直接使用的java类型;这就是虚拟机的类加载机制;其分为三部分,加载,连接,初始化并且都是在程序运行期间完成的,Java动态语言的扩展性就是依赖运行期动态加载和动态连接实现的。整个类的声明 周期为:加载--》...

2017-08-10 10:54:07

阅读数 610

评论数 2

java-finally块和return执行先后顺序

来自牛客网的java笔试题: public class Test{ public int add(int a,int b){ try { return a+b; } catch (Excep...

2017-04-29 18:51:15

阅读数 377

评论数 0

java-final关键字

1.final 可修饰类;变量;方法; 修饰变量的时候,一旦给予了初始值,就不能再改变了; final既可以修饰类变量,也可以修饰实例变量,或者局部变量,形参; 所以,考虑到类在初始化的时候,类变量就被分配内存,如果不在这里给予初始值,就被系统默认分配初始值,那么定义的final变量也就没有意义了...

2017-04-28 09:37:59

阅读数 170

评论数 0

java-高级语言的运行机制

计算机高级语言可以分为解释型和编译型两种: 编译型:就是在程序执行之前,有一个单独的编译过程Compile,将高级语言的源代码编译成机器码,以后执行这个程序的时候就不用再编译了; 如C,C++,Objective-C,Pascal 解释型:程序每次运行的时候都需要解释成机器码,所以每次执行都...

2017-04-27 10:54:21

阅读数 259

评论数 0

java-多态

Java的引用变量有两种类型,一种是编译时类型,声明的时候的类型所决定;另外一种是运行时类型,由运行时的类型所决定; 如 Object test = new String(); Object就是test的编译类型;String 就是test的运行类型; 而在子类对象赋值给父类引用变量,称为向上...

2017-04-27 10:09:46

阅读数 129

评论数 0

java-多线程-线程池

对于共享资源,有一个通用的设计模式:Resource Pool -资源池;用于解决资源频繁请求,释放所造成的性能下降;比如数据库每次操作都打开,关闭连接,会造成系统性能低下;所以在刚开始的时候就把这些共享的数据库都建立好连接,组成一个连接池,需要的时候就从池里面拿,用完就还回去;提升程序的运行效率;

2017-04-25 10:36:43

阅读数 163

评论数 0

java-多线程-线程同步问题

*1.线程安全问题存在的原因? * 由于一个线程在操作共享数据过程中,未执行完毕的情况下,另外的线程参与进来,导致共享数据存在了安全问题。 * * 2.如何来解决线程的安全问题? * 必须让一个线程操作共享数据完毕以后,其它线程才有机会参与共享数据的操作。 1.比如:去银行取钱,A,B线程...

2017-04-24 21:28:51

阅读数 257

评论数 0

java-多线程-几种常用的操作方法

* Thread的常用方法: * 1.start():启动线程并执行相应的run()方法 * 2.run():子线程要执行的代码放入run()方法中 * 3.currentThread():静态的,调取当前的线程 * 4.getName():获取此线程的名字 * 5.setName():设置此线程...

2017-04-24 18:20:44

阅读数 299

评论数 0

java-多线程-生命周期

多线程有五种生命状态:新建,就绪,运行,阻塞,死亡; 新建:当线程被声明创建后,就进入新建状态; 就绪:新建后的线程调用了start方法,就进入就绪,此时等待cpu调用他;所以启动线程一定是调用start方法;而且只能对新建的线程调用start,不然会 出现IllegalThreadStateEx...

2017-04-24 17:54:05

阅读数 188

评论数 0

java-多线程-基本概念/四种种创建thread的方式

程序:是一段静态的代码; 进程:处于运行过程的程序,是动态的,是独立存在的,拥有自己的资源,自己的私有地址;多个进程可以在单个cpu上并发执行; (并发性:同一时刻,只能有一条指令执行,在cpu快速切换的情况下看起来像同时执行;并行性:同一时刻多条指令在多个cpu上同时执行;) 线程:程序的一条执...

2017-04-24 11:10:36

阅读数 167

评论数 0

蓝桥杯-小数运算,保留小数点

java 中默认小数声明是double;  如:float x = 1.0;报错;需要写:float x = 1.0f; * float表示单精度浮点数在机内占4个字节,用32位二进制描述 * double表示双精度浮点数在机内占8个字节,用64位二进制描述 * 对编程人员来说,double 和...

2017-04-01 16:15:25

阅读数 455

评论数 0

提示
确定要删除当前文章?
取消 删除