摘要:
设计模式是经过高度抽象化的在编程中可以被反复使用的代码设计经验的总结。 1、设计模式的7大原则 1.单一职责原则:一个类只有一个职责 2.开闭原则:对扩展开放,对修改封闭。 3.里氏代换原则:所有引用基类的地方必须能透明地使用其子类的对象。(子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法; 阅读全文
摘要:
进程和线程的区别联系 进程和线程的关系: (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。 (3)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。 (4)线程是指进程内的一个执行 阅读全文
摘要:
1、GC的回收流程是怎样的? 对于整个的GC流程里面,那么最需要处理的就是新生代和老年代的内存清理操作,而元空间(永久代)都不在GC范围内。 ①首先会判断Eden区是否有内存空间,如果此时有内存空间,则直接将新对象保存在伊甸园区。但是如果此时在伊甸园区内存不足,那么会自动执行一个Minor GC 操 阅读全文
摘要:
总结一下Java排序算法,以便记忆。 各类排序的时间复杂度: 一、冒泡排序 1、基本思想 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成 阅读全文
摘要:
在实际开发中,会遇到两个系统之间传输数据,为了对传输的数据进行保护,需要发送方对接口数据进行加密,接收方对数据解密。 对数据加密,采用RSA+AES双重加密,是数据更加安全。 使用前提: 如果客户端本身存在安全问题,则无法保证数据的安全,如浏览器端JS变量存储了即将传输的用户密码,这个变量被其他非信 阅读全文
摘要:
一、单例模式 1、饿汉模式 public class Singleton { private static Singleton uniqueInstance = new Singleton(); private Singleton() { } } 2、懒汉式-线程安全 public class Si 阅读全文
摘要:
@Autowired private IRoadRescueService roadRescueService;千万不要把注入的service类设为static 阅读全文
摘要:
1、给定一个二叉树,找出其最大深度。 注:二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tre 阅读全文
摘要:
1、OSI,TCP/IP,五层协议的体系结构,以及各层协议 OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网络接口 网络层、运输层、 应用层。 TCP/IP五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。 每一层的协议 阅读全文