
java
脑神
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java字节码
javac是Java编译器,用于将Java源代码编译为Java字节码文件(.class文件)。原创 2025-01-01 22:43:06 · 237 阅读 · 0 评论 -
java的Class文件
ClassLoad类加载器:ClassLoader:负责载入系统的所有Resources(Class,文件,来自网络的字节流 等),通过ClassLoader从而将资源载入JVM中去运行。JDK中很多的类加载器,但他们作用范围不同各司其职执行时也分层级(不是继承)!但所有的类加载器都继承了ClassLoad这个类。ClassLoader 的等级加载机制:BootstrapClassLoad...原创 2019-08-11 18:27:58 · 245 阅读 · 1 评论 -
常量和常量池
字面量int a = 1; //这个1就是字面量。String a = "abc"; //a被称为(变量名、标识符、对象的引用),这个abc就是字面量。符号引用一个java类将会编译成一个class文件。在编译时,java类并不知道引用类的实际内存地址,因此只能使用符号引用来代替。比如org.simple.People类要引用org.simple.Tool类,在编译时People类并不...原创 2020-03-23 10:36:33 · 541 阅读 · 0 评论 -
Class文件在JVM中的执行过程
Class文件的执行:1、Loading(加载)→2、Linking(连接)→3、Initializing (验证)一、Loading:ClassLoader:负责载入系统的所有Resources(Class,文件,来自网络的字节流 等),通过ClassLoader从而将资源载入JVM中去运行。JDK中很多的类加载器,但他们作用范围不同各司其职执行时也分层级(不是继承关系)!但所有的...原创 2020-01-29 15:03:58 · 1721 阅读 · 0 评论 -
jvm
什么是jvm ?Java Virtual Machine(Java虚拟机)的缩写(1)jvm可以被当做一台被虚拟出来的计算机操作系统(有其自己的汇编语言----字节码)(2)jvm是一种规范,与具体的编程语言无关只关心.Class文件的执行(3)jvm也被成为“jvm平台”是因为据目前统计通过jvm实现跨平台的编程语言已经高达百种常见的几种jvm实现:(1)Hotspot...原创 2019-12-13 21:56:19 · 107 阅读 · 0 评论 -
jvm oom
jmap -histo <PID进程id> | head -20-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\study\log_hprof\java_MemoryError.hprof在线排查:arthas原创 2021-12-26 14:30:45 · 217 阅读 · 0 评论 -
java的反射
什么是java反射?:JAVA反射机制是在运行状态中,通过ClassLoad加载类到JVM(动态加载机制、懒加载)的同时通过JDK中已经定义好的Class类(字节码文件对象)能够知道、操作这个类的所有属性、方法;Class文件对象的newInstance方法可以对某个类进行实例化生成对象,也能够获取它的任意方法和属性信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 ...原创 2019-12-23 18:42:23 · 132 阅读 · 0 评论 -
java对象中的内容
普通对象 对象头:markword 8个字节 对象头含有:锁定对象信息 GC标记(分代年龄)只能用4bit最大表示15所以GC年龄默认为15 ClassPointer指针:-XX:+UseCompressedClassPointers 为4字节 不开启为8字节(不是OOPS指针) 实例数据 引用类型:-XX:+UseCompressedOops 为4字节...原创 2020-01-29 15:10:13 · 514 阅读 · 0 评论 -
JVM日志配置
GC日志设定日志参数(找到tomcat的解压目录,进入bin文件夹,修改catalina.bat/sh),spring boot项目 jar 启动直接命令启动set "JAVA_OPTS=-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=20M -XX:+PrintGCDetails -XX:-PrintGCTimeStamps -Xloggc:D:\gc-%t.log"开启日志参数介绍-X原创 2021-03-21 13:29:50 · 1501 阅读 · 2 评论 -
java 枚举类遍历
创建枚举类public enum SerialNumberEnums { USABLE("待使用",1), OCCUPY("其他活动占用",2), USED("已经兑换",3); private String desc;//文字描述 private Integer code; //对应的代码 SerialNumberEnums(String desc, Integer code) { this.desc = desc; this.code = code; } publi原创 2022-05-12 16:18:58 · 5286 阅读 · 0 评论 -
join、inner join的区别
join= inner join= cross join(都可以使用ON过滤) left join=left outer join:左外连接 right join=right outer join:右外连接 full join=full outer join:全外连接(mysql不支持UNION代替) natural join: 自然连接(不能使用ON)...原创 2022-04-17 22:35:36 · 4381 阅读 · 0 评论 -
mac m2 安装jdk11
mac jdk原创 2022-01-03 11:50:18 · 6351 阅读 · 0 评论 -
@Scheduled实现并发执行
Spring自带的任务调度-定时器是一个个执行的,同一个时间内最大有一个任务在执行!线程池实现多定时任务并发执行:import lombok.extern.slf4j.Slf4j;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.TaskSch原创 2021-11-02 14:28:44 · 738 阅读 · 0 评论 -
Swagger
Swagger介绍直接看官网介绍:https://swagger.io/导入依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency><dependency> &l原创 2021-02-26 16:20:46 · 106 阅读 · 0 评论 -
基础类型与包装类
基础类型与包装类区别默认值不同: int的初值为0,Ingeter的初值为null; 数据类型不同: int是基本数据类型,Integer是引用数据类型(对象); 存储空间不同: 基本类型存储在栈里,包装类型存储在堆里;实际使用差异int a = 500;int b = 500;// true 只要有基础类型的比较就是值的对比(自动拆箱)System.out.println(a == b);Integer a1=500;Integer b1=500;// false 两个包装类比原创 2021-01-06 15:30:52 · 210 阅读 · 1 评论 -
动静态语句块
动态语句块是每次new对象时执行一次;而静态语句块是程序执行时首次加载类执行一次!不论是静态语句块还是动态语句块都会在构造方法前执行。class A{//动态语句块: {}}class A{//静态语句块: static {}}...原创 2019-08-11 18:35:28 · 237 阅读 · 0 评论 -
抽象类与接口
(1)抽象类:作用: 抽象类就是用来被继承的,不可以被实例化!与抽象函数的关系: 抽象类可以不包含抽象方法, 但抽象方法一定得在抽象类中(使用abstract关键字声明)。用法: 抽象类中的抽象方法由可实例化的子类来实现!(2)接口:作用:Java可以多重继承但不能多继承,所以实现多接口了的机制!接口中的变量:声明的变量只能为(可以不写默认加上,解...原创 2019-05-11 08:44:39 · 101 阅读 · 0 评论 -
引用类型转换及多态
(1)子类对象转化为父类对象(向上转型)//Animal (父类/基类)//Dog(子类/派生类)Animal t = new Dog();实例化引用对象:可调用父类的变量及方法(除了带有default 、private修饰符的 )(若是父类方法被子类重写则调用的是子类重写的方法:这就是动态绑定(多态)。多态的三个条件:有重写,有继承,父类引用指向子类!父类对象唯有通过强转成子类才能...原创 2019-05-11 08:15:56 · 174 阅读 · 0 评论 -
Java中成员变量与局部变量的区别
首先我要明确Java中没有这一词“全局变量”,只有成员变量、局部变量、静态变量、常量!Java中成员变量与局部变量的区别:(1)代码区域不同: 成员变量声明在所有方法体外部使用范围可覆盖到整个类。 局部变量声明在方法体内部只能在方法体内使用。(1)默认值不同: 成员变量有默认值,而局部变量没有默认值必须赋值后才能使用。...原创 2019-04-07 20:25:21 · 2057 阅读 · 0 评论 -
java修饰符总结
Java中一共四种访问修饰符:default(即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法 private: 在同一类内可见。使用对象:变量、方法。注意:不能修饰类(外部类) public: 对所有类可见。使用对象:类、接口、变量、方法 protected: 对同一包内的类和所有子类可见。使用对象:变量、方法。注意:不能修饰类(外部...原创 2019-04-14 09:53:23 · 175 阅读 · 0 评论 -
浅谈java中的变量、静态变量、常量
对比项关键字变量静态变量static常量final(1)关于变量的详解请点击:变量详解在Java中共8中基础类型唯有boolean类型不可以转换为其他类型。以类型容量大小排名(其中byte,short,char三个运算后返回值为int类型,整型常量默认:int,实 型常量默认:double):byte,short,char...原创 2019-11-19 18:47:29 · 905 阅读 · 0 评论 -
java中 == 和 equals 的区别
Java中所有的引用类型默认继承自Object类,而Object中就有equals()函数所以可以任意使用!基础类型的变量不是对象无法使用equals()下面是两种比较方式的面对不同情况的处理:...原创 2019-05-04 11:02:35 · 148 阅读 · 0 评论 -
区分Java的Override(重写)与Overload(重载)
(1)Overload(重载): 在同一类中两个方法的标识符(函数名)相同,不同的形式参数类型、数量、顺序为重载(并不关注访问修饰 符、返回值等)。(2)Override(重写): 用于继承关系中重写父类中的函数...原创 2019-04-24 22:40:11 · 161 阅读 · 0 评论 -
认识this()与super()
this: this.这种用法指向实例化对象本身,这样可以调用对象中的成员变量及函数(除了构造函数!) this(形参)这种用法仅仅可以在构造函数中通过识别重载的形式调用本类中的其他构造函数来完成构造函数初始化的作用。super: 子类要想完成对象的实例化就得先实例化一个父类对象,而super关键字就是指向子类中要实例化的父类对象的引用。 ...原创 2019-04-24 23:06:37 · 166 阅读 · 1 评论 -
Java的异常
(1)异常类的分类:所有的异常类都继承自Throwable类(可被抛出的异常),Error 系统错误、Java JVM错误不能通过程序进行调试!Exception可以通过程序处理的异常!RuntimeException运行时频繁产生的错误可以不进行捕获。(2)抛出异常:代码段中用throw关键字抛异常,最后函数用throws关键字抛异常。要求函数抛出的异常与代码中的异常一致!...原创 2019-05-15 15:44:46 · 131 阅读 · 0 评论