随笔分类 -  java系列

摘要:J2EE并不是一个产品,而是一系列的标准 https://zhuanlan.zhihu.com/p/61596145 https://cloud.tencent.com/developer/article/1157101 https://blog.csdn.net/qq_41637061/artic 阅读全文
posted @ 2021-06-12 16:26 脚本小娃子 阅读(196) 评论(0) 推荐(0) 编辑
摘要:问题: Exception in thread "main" java.lang.IllegalAccessException: Class cn.shengulong.moduledemotwo.classloaderdemo.Demo1 can not access a member of cl 阅读全文
posted @ 2020-04-23 20:46 脚本小娃子 阅读(779) 评论(1) 推荐(0) 编辑
摘要:从 方法开始打断点,逐步调试,了解程序运行过程 全局唯一的 main 1. Springboot 内置 ,开发的时候还是可以看到 方法的 2. 对于 外置的情况,在我们开发的工程代码里是看不到 方法的,使用的是 里的 方法 + 此时 方法位于 + 此类项目里引入 依赖,方便 源码调试 Tomcat 阅读全文
posted @ 2019-11-13 08:47 脚本小娃子 阅读(2253) 评论(0) 推荐(0) 编辑
摘要:idea的groovy设置 groovy使用的是java的jdk 新建groovy项目,第一次新建的时候,Groovy library是空的,需要点击右边的Create...新建。 但是由于brew install groovy安装的groovy目录在/usr/local/Cellar/groovy 阅读全文
posted @ 2019-11-11 11:18 脚本小娃子 阅读(6735) 评论(0) 推荐(0) 编辑
摘要:"Java 8:从持久代到metaspace" "系统稳定性——OutOfMemoryError 常见原因及解决方法" java各种异常问题示例(附pdf下载): "java.lang.OutOfMemoryError" 阅读全文
posted @ 2019-11-06 23:56 脚本小娃子 阅读(388) 评论(0) 推荐(0) 编辑
摘要:Tomcat安装 brew search tomat 有tomcat@7、 tomcat@8、 tomcat最新版本(即tomcat9)三个版本 brew install tomcat 启动tomcat:catalina run brew info tomcat查看安装路径等信息 idea设置 设置 阅读全文
posted @ 2019-11-06 23:35 脚本小娃子 阅读(2042) 评论(0) 推荐(0) 编辑
摘要:"Java 到底是值传递还是引用传递" "关于Jvm知识看这一篇就够了" 阅读全文
posted @ 2019-11-04 23:12 脚本小娃子 阅读(423) 评论(0) 推荐(0) 编辑
摘要:JIT(just in time) 前端vs后端 在编译原理中,通常将编译分为前端和后端。其中前端会对程序进行词法分析、语法分析、语义分析,然后生成一个中间表达形式(称为IR:Intermediate Representation)。后端再讲这个中间表达形式进行优化,最终生成目标机器码。 在Java 阅读全文
posted @ 2019-11-04 23:09 脚本小娃子 阅读(619) 评论(0) 推荐(0) 编辑
摘要:servlet:服务器小程序 servlet是一个接口,接口是一种规范,因此servlet是一种规范 一个类声明为抽象类的原因: 1. 不包含抽象方法,不想被实例化 2. 包含抽象方法,子类有对抽象方法的不同实现 什么是Servlet容器? Servlet容器,顾名思义里面存放着Servlet对象。 阅读全文
posted @ 2019-11-04 23:08 脚本小娃子 阅读(213) 评论(0) 推荐(0) 编辑
摘要:分布式定时任务 1. elastic job 可以实现任务分片 2. quartz 可以把任务存入数据库,实时生成任务(添加数据库添加定时任务) "文档" "中文翻译" "翻译2" 阅读全文
posted @ 2019-10-31 22:59 脚本小娃子 阅读(1278) 评论(0) 推荐(0) 编辑
摘要:JVM运行时内存结构 JVM内存模型 JVM运行时内存=共享内存区+线程内存区 共享内存区 共享内存区=持久代+堆 持久代=方法区+其他 堆=Old Space+Young Space Young Space=Eden+S0+S1 持久代 JVM用持久代(Permanent Space)实现方法区, 阅读全文
posted @ 2019-10-29 23:07 脚本小娃子 阅读(399) 评论(0) 推荐(0) 编辑
摘要:内存分析工具 IDEA插件(VisualVM Launcher) 执行main函数的时候,同时启动jvisualvm,实时查看资源消耗情况。 "如图效果" : "Eclipse Memory Analyzer Open Source" 阅读全文
posted @ 2019-10-29 23:06 脚本小娃子 阅读(364) 评论(0) 推荐(0) 编辑
摘要:int vs Integer + 基本类型int的默认值为0;对应的封装类型Integer的默认值为null + Integer对象会占用更多的内存。Integer是一个对象,需要存储对象的元数据。但是int是一个原始类型的数据,所以占用的空间更少 + 自动装箱:将基本数据类型转换成相应的包装类类型 阅读全文
posted @ 2019-10-29 23:05 脚本小娃子 阅读(227) 评论(0) 推荐(0) 编辑
摘要:虚拟机栈(java stack) 百度图片搜索里的 搜索功能不错,可以搜索一些动图,展示操作数栈的操作过程,比较形象。这点google差点意思 + 虚拟机栈(jvm stacks)是线程独占的 + 里面是多个栈帧(frame)或叫方法帧(class里的每个方法独占一个栈帧,所以也可以称之为方法帧) 阅读全文
posted @ 2019-10-29 19:35 脚本小娃子 阅读(179) 评论(0) 推荐(0) 编辑
摘要:线程安全 多线程编程中的三个核心概念 1. 原子性:锁(lock)和同步(synchronized)、CAS(compare and swap) 2. 可见性:volatile(乐观锁) 3. 顺序性:happens before原则 参考 "当我们说线程安全时,到底在说什么" "一图带你了解jav 阅读全文
posted @ 2019-10-28 23:27 脚本小娃子 阅读(111) 评论(0) 推荐(0) 编辑
摘要:java里的static/final含义 static + static可以修饰:属性,方法,代码段,内部类(静态内部类或嵌套内部类) + static修饰的属性的初始化在编译期(类加载的时候),初始化后能改变。因此static修饰的属性必须有初始值(数值型变量默认值为0,布尔型默认值为false, 阅读全文
posted @ 2019-10-28 23:25 脚本小娃子 阅读(797) 评论(0) 推荐(0) 编辑
摘要:Java Language and Virtual Machine Specifications 详细介绍了Java语言各个版本的功能/JVM的工作原理 建议详读/深度 "各个版本,在线看或者pdf下载" 阅读全文
posted @ 2019-10-28 00:34 脚本小娃子 阅读(210) 评论(0) 推荐(0) 编辑
摘要:用法 int x1 = 2_014; // Underscore in deciaml format int x2 = 2___014; // Multiple consecutive underscores int x3 = 02_014; // Underscore in octal liter 阅读全文
posted @ 2019-10-26 22:46 脚本小娃子 阅读(1440) 评论(0) 推荐(0) 编辑
摘要:java是单进程多线程模型,多线程依然可以充分利用多核(core)/多处理器(cpu) + 单个cpu线程在同一时刻只能执行单一指令,也就是一个线程 + 单个线程同时只能在单个cpu线程中执行 + Java中的所有线程在JVM进程中,CPU调度的是进程中的线程 + Java多线程并不是由于cpu线程 阅读全文
posted @ 2019-10-23 23:44 脚本小娃子 阅读(1114) 评论(0) 推荐(0) 编辑
摘要:字节码名字的由来 字节码以一个字节即8bit为最小单位储存;字节码是java程序编译后的结果;字节码是一组8位字节为基础单位的二进制流 Java从源文件到执行的过程。 "如何阅读JAVA字节码" 阅读全文
posted @ 2019-10-21 08:30 脚本小娃子 阅读(325) 评论(0) 推荐(0) 编辑