摘要: 工具一 IDEA工具 IDEA启动项目处,添加一个 Remote工具,服务器启动项目时添加下图选中的这段参数 工具二 Arthas 常用指令 watch , 观察函数调用链 profiler,服务器CPU压力图,压测的时候可用,观察哪些方法有瓶颈,压测图如下 阅读全文
posted @ 2022-02-16 23:05 huiyii 阅读(116) 评论(0) 推荐(0) 编辑
摘要: Java常见的创建线程(线程池)有三个: Executors.newCachedThreadPool();​Executors.newFixedThreadPool(10);​Executors.newSingleThreadExecutor(); 查源码,都是new 的一个线程池类 ThreadP 阅读全文
posted @ 2022-02-16 23:02 huiyii 阅读(33) 评论(0) 推荐(0) 编辑
摘要: JVM内存的YOUNG区和OLD都是使用G1垃圾收集器,G1收集器内存结构 每个region(区域)的大小 1~32M,是2的幂次方 对象储存: 0.5region <= 对象 <1 region,这个对象会直接存储在 O区,并标记为H区(超大对象区) 对象>1 region,会申请两个H区来存储这 阅读全文
posted @ 2022-02-16 22:56 huiyii 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 指令 jps,查看Java进程概述,可用来查看有哪些Java进程,Java程序是否启动 jconsole,图形化查看Java程序的内存,线程,类,GC,bean信息 jstat,主要用来查看Java内存,常用参数 -gcutil、gc jstat -gcutil pid interval,显示的是百 阅读全文
posted @ 2022-02-16 22:53 huiyii 阅读(19) 评论(0) 推荐(0) 编辑
摘要: GCROOT:栈、本地方法栈、方法区 直接或间接引用的,不能被删除,和GCROOT无关的对象可直接删除 垃圾回收算法: 标记-清理: 标记与GCROOT无关的对象,删除; 缺点:会产生内存碎片,如果下次进来的对象和GC掉的对象大小不同,就不会使用该块内存 标记-整理: 标记与GCROOT无关的对象, 阅读全文
posted @ 2022-02-16 22:51 huiyii 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 本地方法栈,存放C++的native方法 程序计数器,指向程序当前运行的位置 栈(JVM栈),存放 函数、当前运行时的临时变量,存储的是对象的地址,最终指向堆存储的实际对象;如果一个对象在方法中new出来,并且只在这个方法中使用,这个对象会存放在栈中,当方法结束就会清理掉这个方法栈,减轻了GC的压力 阅读全文
posted @ 2022-02-16 22:48 huiyii 阅读(27) 评论(0) 推荐(0) 编辑
摘要: volatil 可见性,强制刷新主存中的变量到各个CPU的缓存中,使各个CPU中缓存的变量与主存中一致,各个线程所使用的变量一致,读一致性【线程A写变量后刷新到主存中,线程B会刷新自己缓存中的变量=主存中的变量(即线程A写后的变量),如果变量没有用volatile修饰,线程B缓存中的变量不会刷新,即 阅读全文
posted @ 2022-02-16 22:45 huiyii 阅读(139) 评论(0) 推荐(0) 编辑
摘要: Servlet规范 Servlet容器用来加载和管理业务类。HTTP服务器不直接跟业务类打交道,而是把请求交给Servlet容器去处理,Servlet容器会将请求转发到具体的Servlet,如果这个Servlet还没创建,就加载并实例化这个Servlet,然后调用这个Servlet的接口方法。因此S 阅读全文
posted @ 2022-02-16 22:41 huiyii 阅读(189) 评论(0) 推荐(0) 编辑
摘要: HTTP协议 HTTP本质 HTTP协议是浏览器与服务器之间的数据传送协议。作为应用层协议,HTTP是基于TCP/IP协议来传递数据的(HTML文件、图片、查询结果等),HTTP协议不涉及数据包(Packet)传输,主要规定了客户端和服务器之间的通信格式。 下面我通过一个例子来告诉你HTTP的本质是 阅读全文
posted @ 2022-02-16 22:40 huiyii 阅读(269) 评论(0) 推荐(0) 编辑
摘要: Web容器 Web技术的发展史 早期的Web应用主要用于浏览新闻等静态页面,HTTP服务器(比如Apache、Nginx)向浏览器返回静态HTML,浏览器负责解析HTML,将结果呈现给用户。 随着互联网的发展,我们已经不满足于仅仅浏览静态页面,还希望通过一些交互操作,来获取动态结果,因此也就需要一些 阅读全文
posted @ 2022-02-16 22:38 huiyii 阅读(1664) 评论(0) 推荐(2) 编辑
摘要: https://mp.weixin.qq.com/s/l9XzMbkoDI1EgKj49aAr8w 阅读全文
posted @ 2022-02-16 22:36 huiyii 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 当客户浏览器打开后第一次访问Tomcat服务器,在编程调用request.getSession()方法后建立Session(一般是认证成功后,调用getSession(),其实在这之前Session并不存在,所以在登录之前一般是没有session的),存入一个ConcurrentHashMap,Ke 阅读全文
posted @ 2022-02-16 22:35 huiyii 阅读(119) 评论(0) 推荐(0) 编辑
摘要: Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。 Docker Compose 将所管理的容器分为三层,分别是工程(project)、 阅读全文
posted @ 2022-02-16 22:31 huiyii 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 方法一:使用Dockerfile构建 把项目打包成jar包,复制到服务器中 在服务器中新建Dockerfile文件(Dockerfile和jar在同一路径下),Dockerfile示例 FROM java:8EXPOSE 8080VOLUME /slmADD boot-docker-0.0.1-SN 阅读全文
posted @ 2022-02-16 22:27 huiyii 阅读(717) 评论(0) 推荐(0) 编辑
摘要: @GeneratedValue:为一个实体生成一个唯一标识的主键,@GeneratedValue提供了主键的生成策略,@GeneratedValue注解有两个属性,分别是strategy和generator generator属性的值是一个字符串,默认为 "",其声明了主键生成器的名称,一般是@Ge 阅读全文
posted @ 2022-02-16 22:25 huiyii 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 异步方法执行的线程池 默认情况下,Spring会查找一个关联的线程池:要么是一个org.springframework.core.task.TaskExecutor类型的bean,要么是一个类型是 java.util.concurrent.Executor名字是taskExecutor的bean。如 阅读全文
posted @ 2022-02-16 22:23 huiyii 阅读(1041) 评论(0) 推荐(0) 编辑
摘要: java8的流式处理极大的简化了对于集合的操作,实际上不光是集合,包括数组、文件等,只要是可以转换成流,我们都可以借助流式处理,类似于我们写SQL语句一样对其进行操作。java8通过内部迭代来实现对流的处理,一个流式处理可以分为三个部分:转换成流、中间操作、终端操作 关于list.stream(). 阅读全文
posted @ 2022-02-16 22:21 huiyii 阅读(128) 评论(0) 推荐(0) 编辑
摘要: Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。 Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。 Optional 阅读全文
posted @ 2022-02-16 22:21 huiyii 阅读(33) 评论(0) 推荐(0) 编辑
摘要: springboot-quartz的依赖 spring-boot-starter-quartz Quartz的基本组成部分: 任务:JobDetail,定义一个job任务 触发器:Trigger,包括SimpleTrigger和CronTrigger,指定Job的执行时间,执行间隔,运行次数等 调度 阅读全文
posted @ 2022-02-16 22:20 huiyii 阅读(77) 评论(0) 推荐(0) 编辑
摘要: JPA,在服务器启动的时候,jpa的启动管理类会自动扫荡继承了JpaRepository的接口,然后添加到动态代理管理中,然后注入到spring的容器中。 @Entity当实体类名和表名相同,实体属性和表字段相同时,会默认完成实体属性和表字段的映射,当表名和实体类名不同,表字段和实体属性不同时,需要 阅读全文
posted @ 2022-02-16 22:19 huiyii 阅读(65) 评论(0) 推荐(0) 编辑