摘要: Java运行时数据区 Java虚拟机在执行Java程序的过程中会将其管理的内存划分为若干个不同的数据区域,这些区域有各自的用途、创建和销毁的时间,有些区域随虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束来建立和销毁。 Java虚拟机所管理的内存包括以下几个运行时数据区域,如图: 1、程 阅读全文
posted @ 2020-10-13 17:50 苏先生139 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 进程与线程 进程 当一个程序被运行,就开启了一个进程, 比如启动了qq,word 程序由指令和数据组成,指令要运行,数据要加载,指令被cpu加载运行,数据被加载到内存,指令运行时可由cpu调度硬盘、网络等设备 线程 一个进程内可分为多个线程 一个线程就是一个指令流,cpu调度的最小单位,由cpu一条 阅读全文
posted @ 2020-10-13 17:38 苏先生139 阅读(134) 评论(0) 推荐(0) 编辑
摘要: GitLab CI/CD介绍 GitLab CI的工作流程: GitLab CI是 GitLab 提供的持续集成服务,只要在你的仓库根目录 创建一个.gitlab-ci.yml 文件, 并为该项目指派一个Runner,当有合并请求或者 push的时候就会触发build。 这个.gitlab-ci.y 阅读全文
posted @ 2020-10-13 16:12 苏先生139 阅读(1041) 评论(0) 推荐(0) 编辑
摘要: 概述 ArrayList不是线程安全的,所以如果需要保证ArrayList在多线程环境下的线程安全,即保证读的线程可见性和写的数据一致性,可以使用synchronized或者ReentrantLock对ArrayList的读写进行同步,或者使用Collections.syncrhonizedList 阅读全文
posted @ 2020-10-13 15:38 苏先生139 阅读(246) 评论(0) 推荐(0) 编辑
摘要: Lambda Lambda介绍 Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。 Lambda表达式的结构 一个 Lamb 阅读全文
posted @ 2020-10-13 15:26 苏先生139 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 平时我们在做项目时经常需要对一些重要功能操作记录日志,方便以后跟踪是谁在操作此功能;我们在操作某些功能时也有可能会发生异常,但是每次发生异常要定位原因我们都要到服务器去查询日志才能找到,而且也不能对发生的异常进行统计,从而改进我们的项目,要是能做个功能专门来记录操作日志和异常日志那就好了。 当然我们 阅读全文
posted @ 2020-10-13 12:15 苏先生139 阅读(652) 评论(0) 推荐(0) 编辑
摘要: 软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {...} catch {...} finally {...} 代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看看您现在编写的代码属于哪一种 阅读全文
posted @ 2020-10-13 12:00 苏先生139 阅读(1005) 评论(0) 推荐(0) 编辑
摘要: ①同步阻塞IO(Blocking IO):即传统的IO模型。 ②同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。 ③多路复用IO(IO Multiple 阅读全文
posted @ 2020-10-13 11:22 苏先生139 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 在java中的锁分为以下(其实就是按照锁的特性和设计来划分 1、公平锁/非公平锁 2、可重入锁 3、独享锁/共享锁 4、互斥锁/读写锁 5、乐观锁/悲观锁 6、分段锁 7、偏向锁/轻量级锁/重量级锁 8、自旋锁(java.util.concurrent包下的几乎都是利用锁) 从底层角度看常见的锁也就 阅读全文
posted @ 2020-10-13 11:16 苏先生139 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 缓存穿透 那什么是缓存穿透,它就是指当用户在查询一条数据的时候,而此时数据库和缓存却没有关于这条数据的任何记录,而这条数据在缓存中没找到就会向数据库请求获取数据。它拿不到数据时,是会一直查询数据库,这样会对数据库的访问造成很大的压力。 如:用户查询一个 id = -1 的商品信息,一般数据库 id 阅读全文
posted @ 2020-10-13 10:50 苏先生139 阅读(167) 评论(0) 推荐(0) 编辑