Java SE
dearKundy
写有营养的博客。欢迎加我QQ:305278406与我交流。
展开
-
Java main()方法参数详解
我们首先来回忆一下Java程序的入口——main()方法: public static void main(String[] args){......}1)public修饰符:Java类由JVM调用,为了让JVM可以自由调用这个main()方法,所以使用public修饰符把这个方法暴露出来。2)static修饰符:JVM调用这个主方法时,JVM直接通过该类来调用主方法。原创 2017-08-03 15:08:07 · 3951 阅读 · 0 评论 -
来,带你手撕一个AOP
本文主要讲的是如何使用JDK动态代理实现简单的AOP。AOP是啥?如果你想在某些方法执行前后插入一些通用的处理,你可以考虑AOP。预备知识ProxyJDK中提供了一个Proxy类用于创建动态代理对象的静态方法,如果在程序中为一个或多个接口动态地生成实现类,就可以使用Proxy来创建动态代理类。Proxy提供了下面的方法来创建动态代理实例:public static Object new...原创 2019-01-25 16:07:25 · 208 阅读 · 0 评论 -
JDBC加载数据库驱动源码分析
今天在看JDBC编程的时候有个疑惑:为什么加载数据库驱动只需要下面这样的一句?它把Driver的Class对象创建出来却没有引用,这到底是几个意思?怎么看起来跟后面的代码完全是独立的,但是把它删除又会报错。Class.forName("com.mysql.jdbc.Driver"); 首先来看看Class.forName(String className)...原创 2018-09-17 21:34:50 · 891 阅读 · 0 评论 -
原生Logger的logging.properties配置文件浅析
这篇文章主要讲解一下Java自带的日志系统的配置文件。java.util.logging的默认的 logging.properties 存放在 jre/lib/logging.properties下,但是这个文件是不可编辑的。如果我们想测试一下这里面的配置项。我们得把这个文件复制拷贝出来,我把它复制出来放到了/Users/kun/Desktop/littleworld/loggi...原创 2018-09-16 21:02:14 · 10051 阅读 · 0 评论 -
Java 一句话区分重载与重写
重载:主要发生在同一个类的多个同名方法之间,参数类型和个数不一样,返回值类型可以相同也可以不相同。总之你的同名函数可以清楚让JVM知道你想调用的是哪个函数就可以了,即有明确的区别。 重写:发生在子类和父类的同名方法之间,方法名相同、形参列表相同。子类方法返回值类型要比父类方法返回值类型更小或者相等,子类方法声明抛出的异常应比父类方法声明抛出的异常类更小或相等,覆盖方法和被原创 2017-08-04 21:19:41 · 495 阅读 · 0 评论 -
Java ==与equals方法有什么区别
Java程序中测试两个变量是否相等有两种方式:一种是利用==运算符,另一种是利用equals()方法。当使用==来判断两个变量是否相等时,如果两个变量是基本类型变量,且都是数值类型(不一定要求数据类型严格相同),则只要两个变量的值相等,就返回true。但是对于两个引用类型变量,只有它们指向同一个对象时,==判断才会返回true。==不可用于比较类型上没有父子关系的两个对象。...原创 2017-08-03 11:56:14 · 524 阅读 · 0 评论 -
Java线程池了解一下
为什么需要使用线程池1、减少线程创建与切换的开销在没有使用线程池的时候,来了一个任务,就创建一个线程,我们知道系统创建和销毁工作线程的开销很大,而且频繁的创建线程也就意味着需要进行频繁的线程切换,这都是一笔很大的开销。2、控制线程的数量使用线程池我们可以有效地控制线程的数量,当系统中包含大量并发线程时,会导致系统性能剧烈下降。线程池做了什么重复利用有限的线程线程池中会预先创...原创 2019-01-28 15:48:19 · 2159 阅读 · 1 评论