自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 yield的概念及使用姿势

概念:  当调用Thread.yield方法时,会给线程调度器一个当前线程愿意让出CPU使用的暗示,但是线程调度器可能会忽略这个暗示。代码演示:public class YieldDemo implements Runnable{ @Override public void run() { for (int i = 0; i...

2019-02-28 16:47:00 866

原创 java面试题之如何中断一个线程?

方法一:调用interrupt方法,通知线程应该中断了:  A.如果线程处于被阻塞状态,那么线程将立即退出被阻塞状态,并抛出了一个InterruptedException异常。   B.如果线程处于正常活动状态,那么会将该线程的中断标志设置为true。被设置中断标志的线程将正常运行,不受影响。方法二:使用volatile boolean类型变量控制;  ...

2019-02-28 16:17:00 362

原创 java面试题之select、poll和epoll的区别

消息传递方式:select:内核需要将消息传递到用户空间,需要内核的拷贝动作;poll:同上;epoll:通过内核和用户空间共享一块内存来实现,性能较高;文件句柄剧增后带来的IO效率问题:select:因为每次调用都会对连接进行线性遍历,所以随着FD剧增后会造成遍历速度的“线性下降”的性能问题;poll:同上;epoll:由于epoll是根据每个F...

2019-02-28 15:12:00 1263

原创 java面试题之如何实现处理线程的返回值?

有三种实现方式:主线程等待法;使用Thread类的join方法阻塞当前线程以等待子线程处理完毕;通过Callable接口实现,通过FutureTask 或者线程池;...

2019-02-28 14:48:00 134

原创 java面试题之Thread和Runnable是什么关系?

Thread实现了Runnable接口,使得run方法支持多线程;因类的单一继承原则,推荐多实用Runnable接口

2019-02-28 14:45:00 445 1

原创 java面试题之哨兵如何判断主服务器是否下线?

通过流言协议来接收关于主服务器是否下线的信息,并使用投票协议来决定是否执行自动故障迁移,以及选择哪个从服务器作为新的主服务器。

2019-02-28 14:41:00 191

原创 java面试题之spring aop中jdk和cglib哪个动态代理的性能更好?

在jdk6和jdk7的时候,jdk比cglib要慢;在jdk8的时候,jdk性能得到提升比cglib要快很多;结论出自:https://www.cnblogs.com/xuliugen/p/10442952.html

2019-02-27 15:17:00 216

原创 java面试题之为什么hashmap的数组初始化大小都是2的N次方?

当数组长度为2的N次方时,不同的key算出的index相同的几率小,数据在数组上分配均匀,hash碰撞的几率小,提升查询效率,从大O(N)提升至O(1);

2019-02-27 11:31:00 541

原创 总结:垃圾回收算法

标记-清除算法(Mark and Sweep)标记:从根集合进行扫描,对存活的对象进行标记;清除:对堆内存从头到尾进行线性遍历,回收不可达对象内存;它是最基础的算法,存在两个不足:1、效率问题,标记和清除效率都不高;2、空间问题,标记-清除后,会产生不连续的内存碎片;复制算法:分为对象面和空闲面对象在对象面上创建存活的对象被从对象面复制到空闲...

2019-02-27 02:40:00 93

原创 总结:如何判断一个对象是否可被回收

一、引用计数算法:  判断对象的引用数量:    通过判断对象的引用数量来决定对象是否可以被回收;    每个对象实例都有一个引用计数器,被引用则+1,完成引用则-1;    任何引用计数为0的对象实例可以被当作垃圾收集;  优缺点:    优点:执行效率高,程序执行受影响较小;    缺点:无法检测出循环引用的情况,导致内存泄漏;二、可达性分析算法:...

2019-02-27 02:09:00 688

原创 24种设计模式优缺点及适用场景#抽象工厂模式

创建型#抽象工厂模式概述:  抽象工厂方法是工厂方法模式的延伸,它提供了功能更为强大的工厂类并且具备较好的可扩展性;优点:  1、抽象工厂模式隔离了具体类的生成,使得客户端并不需要知道什么被创建。  2、当一个产品族中的多个对象被设计成一起工作时,它能够保证客户端始终只使用同一产品族中的对象;  3、增加新的产品族很方便,无需修改已有系统代码,符合开闭原则;缺...

2019-02-24 18:46:00 316

原创 24种设计模式优缺点及适用场景#工厂方法模式

创建型#工厂方法模式概述:  工厂方法是简单工厂模式的延伸,它继承了简单工厂模式的优点,同时还弥补了简答工厂模式的不足。工厂方法是最常用的设计模式之一,很多开源框架和API类库的核心模式。优点:  1、用户只需要关心所需产品对应的工厂,无需关心创建细节,甚至无需知道具体产品类名;  2、所有的具体工厂类都具有同一抽象父类,被称为多态工厂模式;  3、符合开闭原则,...

2019-02-24 18:05:00 316

原创 24种设计模式优缺点及适用场景#简单工厂模式

创建型#简单工厂模式概述:  简单工厂模式提供了工厂类用于创建对象,将对象的创建和对象的使用分开;优点:  1、实现了创建对象和使用对象的分离;  2、无需知道具体产品的类名;  3、通过引入配置文件,无需修改代码即可更换和增加新的具体产品类,提高系统的灵活性;缺点:  1、职责过重,一旦程序出错,整个系统都不能运行;  2、引入新的工厂,会导致增加了...

2019-02-24 17:40:00 270

原创 Java24种设计模式的优点、缺点和适用环境总结

一、7个常用的面向对象设计原则1、单一职责原则:  它是实现高内聚、低耦合的指导方针;一个对象应该只包含单一的职责,并且该职责被完整的封装在一个类中;2、开闭原则:  指软件实体应尽量在不改变原有的代码的情况下进行扩展;3、里氏替换原则:  在运用里氏替换原则时应将父类设计为抽象类或者接口,让子类继承父类或实现父类接口,并实现父类中声明的方法,在运行时子类实例替换...

2019-02-24 13:14:00 305

原创 Java面试题之final、finally和finalize的区别

final:  final是一个修饰符,可以修饰变量、方法和类,如果final修饰变量,意味着变量的值在初始化后不能被改变;  防止编译器把final域重排序到构造函数外;(面试的时候估计答出这个估计会加分哦!一般人都会答上面几个,哈哈~,大牛可以忽略)finalize:  finalize方法是在对象被回收之前调用方法,可以给对象自己最后一个复活的机会;fin...

2019-02-24 02:44:00 81

原创 Java面试题之Java反射的原理

什么是Java的反射?   在运行状态中,对于任意一个类,都能够知道这个类的属性和方法;反射的作用?   如果给定一个类名,就可以通过反射机制来获取类的所有信息,也可以动态的创建对象和编译;反射的原理?   Java语言在编译之后会生成一个class文件,反射就是通过字节码文件找到其类中的方法和属性等;反射的实现主要借助以下四个类: 1、Class:类的对象; 2、Constru...

2019-02-23 16:13:00 485

原创 Java面试题之什么情况下会触发类的初始化

以下情况会触发类的初始化:遇到new,getstatic,putstatic,invokestatic这4条指令;使用java.lang.reflect包的方法对类进行反射调用;初始化一个类的时候,如果发现其父类没有进行过初始化,则先初始化其父类(注意!如果其父类是接口的话,则不要求初始化父类);当虚拟机启动时,用户需要指定一个要执行的主类(包含main方法的那个类)...

2019-02-23 14:07:00 387

原创 Java面试题之Java中==和equals()和hashCode()的区别

“==”:  ==是运算符,用来比较两个值、两个对象的内存地址是否相等;“equals()”:  equals是Object类的方法,默认情况下比较两个对象是否是同一个对象,内部实现是通过“==”来实现的。如果想比较两个对象的其他内容,则可以通过重写equals方法,例如:String类就重写了equals方法,改成了对象的内容是否相等。具体实现可以参考:http...

2019-02-23 13:57:00 218

原创 Java面试题之谈谈reactor模型

reactor是什么?事件驱动可以处理一个或多个输入源通过Service Handle同步的将输入事件采用多路复用分发给相应的Request Handler(一个或多个)处理具体可参考:https://my.oschina.net/u/1859679/blog/1844109...

2019-02-23 03:26:00 723

原创 Java面试题之红黑树原理

红黑树原理:每个节点都只能是红色或黑色的;根节点是黑色的;每个叶节点(空节点)是黑色的;如果一个节点是红色的,那么他的子节点都是黑色的;从任意一个节点到其每个子节点的路径都有相同数目的黑色节点;...

2019-02-23 03:01:00 812

原创 Java面试题之有没有有顺序的Map实现类,如果有,他们是怎么实现有序的?

Hashmap和Hashtable 都不是有序的。TreeMap和LinkedHashmap都是有序的。(TreeMap默认是key升序,LinkedHashmap默认是数据插入顺序)TreeMap是基于比较器Comparator来实现有序的。LinkedHashmap是基于链表来实现数据插入有序的。...

2019-02-23 02:55:00 2725

原创 Java面试题之继承、组合、聚合有什么区别

继承:他是is-a的关系,指一个类继承另外一个类的功能  例如:public class A extends B { }聚合:他是has-a    例如:public class A{ List<B> b} A可以有b组合:他是contans-a(强聚合)  public class A { B b} A一定有b...

2019-02-23 02:46:00 391

原创 Java面试题之ArrayList和LinkedList的区别

先看下类图:相同点:  都实现了List接口和Collection;不同点:  1、ArrayList是基于数组实现的;LinkedList是基于链表实现的;  2、ArrayList随机查询速度快;LinkedList插入和删除速度快;原理解析:  ArrayList是基于数组实现的,他的特性就是可以使用索引来提升查询效率;插入和删除数组中某个元素...

2019-02-23 02:28:00 410

原创 java面试题之happens before原则

  JSR-133使用happens-before的概念来指定两个操作之间的执行顺序。由于这两个操作可以在一个线程内,也可以在不同线程之间。因此,JMM可以通过happens-before关系向程序员提供跨线程的内存可见性保证(如果A线程的写操作a与B线程的读操作b之间存在happens-before关系,尽管a操作与b操作在不同的线程中执行,但JMM向程序员保证a操作将对操作b可见)。...

2019-02-23 02:25:00 284

原创 java面试题之BeanFactory和FactoryBean的区别

BeanFactory是个Factory,也就是IOC容器或对象工厂;FactoryBean是个Bean。在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的。 但对于FactoryBean而言,这个Bean不是简单的Bean,而是一个能生产或者修饰对象生成的工厂Bean,他的实现与设计模式中的工厂模式和装饰器模式类似。...

2019-02-19 11:06:00 304

原创 Java面试之JVM原理总结

1、什么是JVM?  答:JVM是Java Virual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,他是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM屏蔽了与具体操作系统平台相关的信息,时Java程序只需生成在Java虚拟机上运行的字节...

2019-02-19 02:34:00 264

原创 Failed to apply plugin [id 'com.gradle.build-scan']

把spring源码clone下来之后,使用gradle编译不通过,异常日志如下:FAILURE: Build failed with an exception.* Where:Build file 'E:\code\spring-framework-5.0.2.RELEASE\build.gradle' line: 15* What went wrong:...

2019-02-14 02:01:00 11027

原创 spring的事务传播与隔离

propagation 事务的传播属性:1、PROPAGATION_REQUIRED(*-required):支持当前事务,如果当前没有事务,就新建一个事务。(最常见的选择)2、PROPAGATION_SUPPORTS(*-supports):支持当前事务,如果当前没有事务,就以非事务方式执行3、PROPAGATION_MANDATORY(*-mandatory【强制性】):...

2019-02-14 01:36:00 75

原创 Java面试题之Array和ArrayList的区别

Array和ArrayList的区别:1、Array类型的变量在声明的同时必须进行实例化(至少得初花数组的大小),而ArrayList可以只是先声明;2、Array始终是连续存放的;而ArrayList的存放不一定连续;3、Array对象的初始化必须指定大小,且创建后的数组大小是固定的;而ArrayList的大小可以动态指定,空间大小可以任意增加;4、Array不能随意添...

2019-02-13 22:13:00 437

原创 java面试题之有哪几种方式可以让线程阻塞

线程阻塞方式:  1、join  2、sleep  3、yield  4、改变线程的优先级  5、将线程设置成守护线程(jvm中的垃圾回收线程)参考:https://blog.csdn.net/liyuchong2537631/article/details/51900198...

2019-02-13 13:50:00 1271 2

原创 java面试题之BIO、NIO、AIO的应用场景

定义:  1、BIO:同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时,服务器就启动一个线程来处理,如果这个连接不处理任何事情会造成不必要的线程开销,可以通过线程池机制改善。  2、NIO:同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。  3、AIO:异步非...

2019-02-13 11:45:00 195

原创 Java面试题之多线程同步和互斥有几种实现方法,都是什么?

  线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另外一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。  线程互斥是指对于共享的进程系统资源,每个线程访问时的排他性。当有若干个线程都要使用某一个共享资源时,任何时刻最多只允许一个线程去使用,其他线程必须等待,知道占用占用资源者释放该资源。线程互斥可以看成是一种特殊的线程同步。  线程间的...

2019-02-13 02:23:00 938 1

原创 java面试题之Executor和Executors的区别

Executor 接口对象能执行我们的线程任务;Executors 工具类的不同方法按照我们的需求创建了不同的线程池,来满足业务的需求。ExecutorService 接口继承了Executor接口并进行了扩展,提供了更多的方法,我们能够获得任务执行的状态并且可以获取任务的返回值。...

2019-02-13 02:03:00 1093

原创 Java面试题之线程与进程的区别

进程是操作系统分配资源的最小单元;线程是操作系统调度的最小单元;一个程序至少有一个进程;一个进程至少有一个线程每个进程对应一个JVM实例,多个线程共享JVM里的堆;线程不能看做独立应用,而进程可以;进程有独立的地址空间,互不影响,而线程只是进程不同的执行路径;进程的切换比线程的切换开销大;...

2019-02-13 01:52:00 172

原创 java面试题之@Autowired和@Resource的区别

@Autowired和@Resource的区别:1、都可以用来装配bean,都可以写在字段或者方法上; 2、  @Autowired默认按类型装配,默认情况下必须要求依赖对象必须存在,如果允许为null值,可以设置它的required属性为false,如果要使用名称装配可以结合@Qualifier注解使用   @Resource 默认按名称进行装配,名称可以通过name属性进行指...

2019-02-12 17:34:00 274

原创 面试官问你还有什么问题,应该这样答(套路)

我这次的面试表现怎么样,如果有幸进入下一轮的话,有哪些方面需要去准备,或者需要去改进的;哈哈,如果面试官给你提意见,那可能还有后续的面试;如果不说话,或者有其他交流,就可能GG了。(套路)...

2019-02-11 20:46:00 1009

原创 java面试题之死锁产生的条件,以及如何避免死锁,银行家算法,产生死锁后如何解决(阿里面试题)...

死锁产生的四个必要条件:互斥:一个资源每次只能被一个进程使用(资源独立)请求与保持:一个进程因请求资源而阻塞时,对已获得的资源保持不放(不释放锁)不剥夺:进程已获得的资源,在未使用之前,不能强行剥夺(抢夺资源)循环等待:若干进程之间形成一种头尾相接的循环等待的资源关闭(死循环)死锁预防破坏“互斥”条件:就是在系统里取消互斥、若资...

2019-02-11 20:23:00 718

原创 java面试题之osi七层网络模型,五层网络模型,每层分别有哪些协议(阿里面试题)...

OSI七层网络模型TCP/IP五层网络模型对应网络协议应用层应用层HTTP、TFTP、FTP、NFS、WAIS、SMTP表示层应用层Telnet、Rlogin、SNMP、Gopher会话层应用层SMTP、DNS传输层传输层TCP、UDP网络层网络层IP、ICMP、UUCP、AR...

2019-02-11 20:16:00 950

jwt-api.zip

修改源码后的jar包 解决:The signing key's size is 1024 bits which is not secure enough for the RS256 algorithm.

2021-06-30

基于springboot对接微信支付demo

对接微信支付demo

2021-05-09

高等学校毕业生登记表(打印版).pdf

高等学校毕业生登记表(打印版).pdf

2021-05-04

foodie-shop.sql

foodie-shop项目表结构+表数据

2021-05-04

luyten-0.5.4-window.zip

luyten-window,是为了解决JD-GUI的问题:// INTERNAL ERROR // 详情可见:https://blog.csdn.net/qq_17555933/article/details/106097846

2020-05-13

luyten-OSX-0.5.4.zip

luyten-mac,很强 很好用;为了解决JD-GUI工具的问题:// INTERNAL ERROR //

2020-05-13

autoconf、libtool、automake.zip

解决【autoreconf: command not found】安装包,下载安装包后,解压,并使用make和sudo make命令去安装

2019-12-08

RESTClient调试工具

提供可以使用RESTClient插件的火狐浏览器,有些火狐浏览器无法使用消息头,此版本可以使用

2016-05-05

net.sf.jadclipse_3.3.0.jar、jad.exe、操作说明文档

不知道怎么操作可以查看里面的操作文档

2016-05-05

net.sf.jadclipse_3.3.0.jar及jad.exe

用于eclipse查看jar源码相关文件

2016-05-05

Maven实战资料教程

方便大家学习Maven教程,可以查看环境变量的配置

2015-06-10

spring和mybatis整合的jar包

这是spring和MyBatis整合的jar,齐全

2015-06-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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