
——【java基础-高级】
文章平均质量分 95
卡夫卡的熊kfk
总之岁月漫长,然而值得等待
展开
-
【java反射】简单说说静态代理和动态代理
在上篇博客中,我们说了反射的原理和简单应用,这次我们说说反射更深一层的应用,即动态代理。代理模式定义代理模式是为其他对象提供一种代理以控制对这个对象的访问。代理模式分为静态代理和动态代理。原理使用一个代理将对象包装起来,然后用该代理对象取代原始对象,任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。就像如果你们公司想找张艺兴当代言人,需要先联系他的助理...原创 2019-01-17 17:06:16 · 1850 阅读 · 4 评论 -
【java高级】简说多线程(下)
线程的生命周期线程同步为什么要有线程同步?因为普通线程争抢资源会出现线程安全问题。以3个售票机同时卖100张票为例,此时,3个售票机是3个线程,100张票是共享资源。我们的逻辑是:如果余票大于0,则进入系统,否则,结束。多卖出现的原因:(1)当只剩下最后1张时,线程1判断还有1张,进入系统,但是没等输出,cpu资源就被抢夺了。(2) 此时2进行判断,发现还有1张,进入系统,依旧没等...原创 2019-01-26 11:11:12 · 421 阅读 · 3 评论 -
多线程是啥?有啥用?(下)
通信线程是独立运行的,它并不知道进程中是否还有其它线程存在。为了协调线程之间的运行,可以使用线程通信。(1)在Synchronized中wait()——等待导致当前线程等待,直到其它线程调用该同步监视器的nofity()/nofityAll()方法。调用当前线程会释放对改同步监视器的锁定。nofity()/nofityAll()——唤醒nofity():唤醒此同步监视器上等待的...原创 2019-06-11 21:48:45 · 797 阅读 · 1 评论 -
多线程是啥?有啥用?(上)
以前对多线程已经总结过:【java高级】简说多线程(上)【java高级】简说多线程(下)现在又翻看多线程,对其理解的更系统了,现总结如下。线程的操作(1)线程的生命周期新建当程序使用new关键字创建了一个线程之后,该线程就处于新建状态。此时它和其它的java对象一样,仅仅由jvm为其分配内存,并初始化其属性的值。就绪jvm为其创建方法调用栈和程序计数器,此时的线程表示...原创 2019-06-11 21:26:42 · 1904 阅读 · 0 评论 -
【java基础】细说集合(2)—Set集合、list集合
12原创 2019-06-04 16:05:20 · 293 阅读 · 0 评论 -
【java基础】细说集合(1)—Collection接口
在上一篇中我们说了数组,这一篇我们说说集合。集合和数组的本质是一样的,都是对一组数进行操作。至于数组和集合的区别,可以查看<【java基础】数组是啥?有啥用?>,在此不再赘述。集合是可以储存数量不确定的不同对象的容器。java的集合类主要由2个接口派生:Collection和Map。具体可参考如下。CollectionCollection是Set接口、Queue接口、List...原创 2019-06-04 11:38:28 · 318 阅读 · 0 评论 -
【java基础】细解常用类
基础类库就是java提供了一个类库,我们开发时可以从库里选出类来,调用其方法去实现一些功能。思导系统相关(1)ScannerScanner可以读取用户的键盘输入,也可以读取文件输入。//System.in代表键盘输入Scanner sc=new Scanner(System.in);//增加下面一行将只把回车作为分隔符sc.useDelimiter("\n");//判断是否还有下...原创 2019-06-08 10:54:36 · 544 阅读 · 0 评论 -
【java基础】IO流是啥?有啥用?(下)
序列化和反序列化(1)概念序列化:把内存中的java对象转换成二进制字节流,这样就可以把java对象存储在磁盘中,或者在网络中传输了。反序列化:程序从网络或者磁盘中获得二进制流后,将其恢复成原来的java对象。这就是反序列化。下面演示序列化对象的步骤://Person类实现了Serializable接口,则此类的对象就是可序列化的,可在网络中进行传输public class Perso...原创 2019-06-07 11:31:45 · 555 阅读 · 0 评论 -
【java基础】IO流是啥?有啥用?(上)
今天我们说说java代码中对文件的操作,比如新建删除文件,读取文件内容等。概念File类用于操作文件和目录,可对文件或目录进行新建,删除和重命名等操作。但是如果要访问文件内容本身,就需要用到IO流了。(1)File类使用举例:(2)IO流IO流是……。下面对其分类进行说明。输入流、输出流(按流向不同)这里的输入输出是从程序运行所在内存的角度来说的。举个例子来说,数据从服务器通过...原创 2019-06-06 21:46:29 · 2988 阅读 · 2 评论 -
【java基础】泛型是啥?有啥用?
上一篇博客中,我们讲解了集合,这篇我们讲讲泛型。那集合和泛型是什么关系呢?泛型是干嘛的呢?泛型怎么用呢?WHAT泛型,就是允许在定义类、接口、方法时使用类型形参,在声明变量、创建对象、调用方法时再传入实际的类型参数。像List代表了只能存放String类型的对象的List集合。在java中这样用://创建一个只能存放String类型的List集合List<String> a=...原创 2019-06-06 10:58:55 · 784 阅读 · 0 评论 -
【java基础】细说集合(3)—Queue集合、Map集合
Queue原创 2019-06-06 10:03:42 · 705 阅读 · 0 评论 -
【java基础】异常处理是啥?有啥用?
2019年5月19日19:58:57原创 2019-05-19 19:59:05 · 1321 阅读 · 0 评论 -
【java反射】动态代理与AOP
AOP的原理是动态代理,动态代理的原理是反射。情景导入如果3个代码段中都包含同一段代码,那我们怎么规划更合理呢?情景一:代码段1、2、3都存在一个相同的方法fly(),那我就把fly()的实现抽离出来,这样3个代码段只调用方法就好了。情景二:我还想再优化,因为此时如果我把fly()方法改名为了flysky(),那我还需要各去3个代码段里修改。我想要的效果是:不用在代码段中写对fly...原创 2019-01-17 21:40:00 · 1105 阅读 · 3 评论 -
【java高级】简说注解
在开发中,注解起了很重要的作用,比如在springboot中,一个@Data注解就能代替get/set方法。注解让开发更便捷了。今天让我们了解一下注解的鼻祖。JDK内置的基本注解类型(3)@Override运行结果:解析:子类Student重写了父类Person的eat()方法,@Override表示对方法的重写。@Deprecated解析:加上此注解后,对应的类、方法等就会被画...原创 2019-01-22 21:16:59 · 377 阅读 · 2 评论 -
【java高级】简说枚举
个人理解,枚举就像集合,里面是有限个的值。比如礼拜几,月份,季节等。如果枚举里只有一个成员,则就是单例模式。定义枚举类JDK1.5之前,需要自定义枚举类;JDK1.5之后,可用enum关键字定义。自定义枚举类使用enum定义枚举类使用枚举类# values()valueOf(String name)使用枚举类实现接口的枚举类...原创 2019-01-23 09:04:22 · 254 阅读 · 2 评论 -
【java高级】简说多线程(上)
一听到多线程编程,并发编程啥的,感觉挺高大上,可了解完之后,觉得挺简单,因为它形象呀~小明一天用洗衣机洗衣服需要20分钟,托地板5分钟,擦桌子10分钟,晾衣服7分钟,请问小明做完这些事至少需要多长时间?怎么算?不知读者对上述小学题是否有印象,这就涉及到了多线程。概念解读程序一段静止的代码。编程,编程,就是编的这个“程序”吧。进程正在运行的一个程序线程一个进程内部的一条执行路径...原创 2019-01-24 11:45:11 · 603 阅读 · 2 评论 -
想面中高级java工程师,要准备哪些技术点?(详细)
说完了怎么写简历(想面中高级java工程师,要怎么写简历?),这篇重头戏就来啦,我们谈谈怎么准备面试,要准备哪些技术点。框架与中间件篇三大框架ssm(1)spring的ioc原理;创建bean的过程;有没有ioc在代码中是怎么看出来的(2)aop原理:动态代理,分为jdk和cglib,两者的区别是什么(3)springmvc的执行流程(4)mybatis中$和#的区别和适用场景(5)...原创 2019-11-17 10:22:19 · 2605 阅读 · 13 评论