<导航
摘要: 一、JVM配置参数分为三类参数: 1、跟踪参数 2、堆分配参数 3、栈分配参数 这三类参数分别用于跟踪监控JVM状态,分配堆内存以及分配栈内存。 二、跟踪参数 跟踪参数用于跟踪监控JVM,往往被开发人员用于JVM调优以及故障排查。 1、当发生GC时,打印GC简要信息 使用-XX:+PrintGC或- 阅读全文
posted @ 2018-07-05 18:15 字节悦动 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 一、原子性 原子性操作指相应的操作是单一不可分割的操作。例如,对int变量count执行count++d操作就不是原子性操作。因为count++实际上可以分解为3个操作:(1)读取变量count的当前值;(2)拿count的当前值和1做加法运算;(3)将加完后的值赋给count变量。 在多线程环境中 阅读全文
posted @ 2018-07-05 14:08 字节悦动 阅读(465) 评论(0) 推荐(1) 编辑
摘要: 一、内存模型 首先我们思考一下一个java线程要向另外一个线程进行通信,应该怎么做,我们再把需求明确一点,一个java线程对一个变量的更新怎么通知到另外一个线程呢?我们知道java当中的实例对象、数组元素都放在java堆中,java堆是线程共享的。(我们这里把java堆称为主内存),而每一个线程都是 阅读全文
posted @ 2018-07-05 13:57 字节悦动 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 一、从两个方面讲述如何修改tomcat的内存。 1、当点击startup.bat启动时 需要修改catalina.bat文件,打开,找到 echo Using CATALINA_BASE: "%CATALINA_BASE%" 这段语句,然后在上面配置tomcat内存,如下所示: set JAVA_O 阅读全文
posted @ 2018-07-04 18:12 字节悦动 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 前言 JVM一直是java知识里面进阶阶段的重要部分,如果希望在java领域研究的更深入,则JVM则是如论如何也避开不了的话题,本系列试图通过简洁易读的方式,讲解JVM必要的知识点。 一、运行流程 我们都知道java一直宣传的口号是:一次编译,到处运行。那么它如何实现的呢?我们看下图: java程序 阅读全文
posted @ 2018-07-04 14:47 字节悦动 阅读(533) 评论(0) 推荐(1) 编辑
摘要: 一、<%@ include file="#"%> 处理方式:内容原封不动插入包含页使用该指令的位置,jsp编译器再对这个合成的文件进行编译,编译后的文件只有一个。 包含方式:服务器将两个文件合成后由jsp编译器编译成一个class文件,所以被包含文件的内容是固定不变的,若改变此文件,主文件会重新编译 阅读全文
posted @ 2018-07-03 18:52 字节悦动 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 打开org.apache.commons.lang包下面的StringUtils.class源码 阅读全文
posted @ 2018-07-03 16:39 字节悦动 阅读(1782) 评论(0) 推荐(3) 编辑
摘要: Note:文章的内容基于JDK1.7进行分析。1.8做的改动文章末尾进行讲解。 一、先来熟悉一下我们常用的HashMap: 1、概述 HashMap基于Map接口实现,元素以键值对的方式存储,并且允许使用null 建和null 值, 因为key不允许重复,因此只能有一个键为null,另外HashMa 阅读全文
posted @ 2018-07-03 14:56 字节悦动 阅读(23103) 评论(2) 推荐(182) 编辑
摘要: 一、思路: 1、将java项目打包成jar包 2、将jar包生成exe文件 二、将java项目打包成jar 1、“项目”右键->"Export..."导出,弹出“导出设置”窗口如下: 2、验证jar包是否正常:如下图,在cmd中执行jar包: 三、将jar包打包成.exe文件 1、准备材料 首先在桌 阅读全文
posted @ 2018-07-02 17:24 字节悦动 阅读(4120) 评论(0) 推荐(6) 编辑
摘要: 文章整理自网络资源。 一、先来个案例 相对于火狐或谷歌浏览器中使用调试工具抓取HTTP数据包,使用wireshark要显得复杂些,但是也可以达到最终效果。这些操作分为两步,第一步设置合理的过滤条件,第二步在任意数据包中选择Follow TCP Stream。 假设在8080端口运行一个HTTP服务器 阅读全文
posted @ 2018-06-12 11:42 字节悦动 阅读(3846) 评论(0) 推荐(2) 编辑