随笔分类 - Java
摘要:enum(枚举)类介绍 **java枚举类是一组预定义常量的集合,使用enum关键字声明这个类,常量名称官方建议大写 ** 1.enum类基本用法 举一个常见的例子,例如星期就可以描述为一个枚举类,如下 public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNE
阅读全文
摘要:随着项目前后端分离的方式被越来越多的公司采用,前后端分离后鉴权与会话保持也成了程序员们日常聊的一个话题。而在鉴权与会话保持方面应用最多的莫过于Token验证。 总结: 前后端分离的项目,如果服务端的接口被多层代理之后,实际上是很不容易拿到准确的客户端IP。虽然本文提出了IP的方案,但依然不能解决被代
阅读全文
摘要:Elasticsearch 三种分页方式 from + size 浅分页 "浅"分页可以理解为简单意义上的分页。它的原理很简单,就是查询前20条数据,然后截断前10条,只返回10-20的数据。这样其实白白浪费了前10条的查询。 GET test_dev/_search { "query": { "b
阅读全文
摘要:一、工欲善其事必先利其器 做Web开发的人总免不了与Http/Https请求打交道,很多时候我们都希望能够直观的的看到我们发送的请求参数和服务器返回的响应信息,这个时候就需要借助于某些工具啦。本文将采用Fiddler2作为分析工具,Fiddler很强大,它能记录所有客户端和服务器的http和http
阅读全文
摘要:1. 写在前面 | 本文主要针对 Hotspot VM 中“CMS + ParNew”组合的一些使用场景进行总结。重点通过部分源码对根因进行分析以及对排查方法进行总结,排查过程会省略较多,另外本文专业术语较多,有一定的阅读门槛,如未介绍清楚,还请自行查阅相关材料。 | 总字数 2 万左右(不包含代码
阅读全文
摘要:今天群里讨论java的String类,顺着大家的讨论 做个简单的总结 String就是引用类型,JAVA也是按值传递 都没毛病,有毛病的是 String这个包装类 的不同之处 先说大众虚拟机中字符串的实现 都说JAVA的一个类型对应着JVM中的一个CPP的类型,我们就来模拟一下,大概长这样。 cla
阅读全文
摘要:Java-链表 1、什么是链表? 2、链表的特点是什么? 3、链表的实现原理? 4、如何自己写出一个链表? 1、什么是链表? 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的。 每一个链表都包含多个节点,节点又包含两个部分,一个是数据域(储存节点含
阅读全文
摘要:线程状态机: New:所有新建且还没有开始运行的线程,都处于此状态,意味着其代码还没开始执行,也没有开始调度。 Runnable:准备好运行的线程都处于此状态,这些线程在任意时刻可能处于等待运行或者是运行中,具体取决于线程调度器。线程调度器会为每个线程分配固定的运行时间,线程运行一段时间后将被暂停和
阅读全文
摘要:#线程的状态 Java中线程中状态可分为五种:New(新建状态),Runnable(就绪状态),Running(运行状态),Blocked(阻塞状态),Dead(死亡状态)。 - New:新建状态,当线程创建完成时为新建状态,即new Thread(...),还没有调用start方法时,线程处于新建
阅读全文
摘要:https://blog.csdn.net/qq_37888382/article/details/105748943
阅读全文
摘要:[TOCM] 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用
阅读全文
摘要:###昨晚群友来电询问关于JVM中itable的一些问题 ####先看看群友发来的代码。 interface IA{ void f(); } class A impl IA{ void f(){ } } class B extends A{ void g(); } IA foo = new B();
阅读全文
摘要:思考一个问题,10个线程对一个变量进行i++赋值1000 结果是什么? 下边是测试的代码 package com.hd.jxd; import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLoc
阅读全文
摘要:关于JAVA IDE开发工具,Eclipse系列和Intelli IDEA是大部分公司的主要选择,从开发者的选择角度,Intellij IDEA似乎比Eclipse系列更受欢迎一些。当我们使用Intellij IDEA开发时,我们发现出现中文乱码问题,造成中文乱码的根本原因时开发工具和系统环境编码格
阅读全文
摘要:构造函数 public HelloA(){//构造函数 } 关于构造函数,以下几点要注意:1.对象一建立,就会调用与之相应的构造函数,也就是说,不建立对象,构造函数时不会运行的。2.构造函数的作用是用于给对象进行初始化。3.一个对象建立,构造函数只运行一次,而一般方法可以被该对象调用多次。 回到顶部
阅读全文
摘要:1、静态代码块格式: static { 执行语句 } 特点:随着类的加载而执行,且只执行一次,并优先于主函数。用于给类初始化的。 2、执行顺序: 示例一 静态代码块随着类加载而加载 有多个静态代码块的,按代码块前后顺序加载 一个代码块,只执行一次。 package javastudy; class
阅读全文
摘要:openjdk编译和调试,JVM编译调试 使用docker编译JDK,上面的是直接在linux系统上编译,环境搞的很乱。网上有人做好了编译环境的镜像 https://zhuanlan.zhihu.com/p/268742595 特别说明:如果需要输出符号,使用下面这个编译指令 ./configure
阅读全文
摘要:java基础以及多个“比较” 1.Collections.sort排序内部原理 在Java 6中Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java 7中,内部实现换成了TimSort,其对对象间比较的实现要求更加严格 2.hashMap原理,ja
阅读全文
摘要:CompletableFuture基本用法 https://www.cnblogs.com/cjsblog/p/9267163.html Quasar https://blog.csdn.net/maligebazi/article/details/83502761
阅读全文
摘要:写在前面:本文是实际工作中学习成果,记为笔记 目录 背景 什么是注解 注解实战:动态注解 注解实战:静态注解 注解处理器 调试注解器 注解的问题 总结 1. 背景 研究研究再研究 2. 什么是注解 一切使用@interface声明的类就是注解 所有的注解继承于Annotation类,好比所有的类继承
阅读全文