java
八拍 不动山
找工作中~~~~~
展开
-
原神私服搭建二: 搭建服务端
原神私服搭建二: 搭建服务端原创 2022-06-14 11:02:18 · 53437 阅读 · 81 评论 -
MySQL innodb索引回表操作,最左匹配
MySQL innodb索引回表操作,最左匹配簇集索引(主键索引):索引的叶子结点存的所有字段值,非簇集索引(非主键索引): 索引的叶子结点存的是主键字段的值回表操作:例子:表table 有主键 a,索引bselect a,b,c from table where a=1 ,因为a是簇集索引有所有字段,不会回表查select a,b,c from table where b=1,因为b是非簇集索引只有主键a和索引b,会回表查,步骤是拿a去a的簇集索引去找到c,最后a,b,c都有了原创 2021-03-01 09:58:48 · 430 阅读 · 0 评论 -
netty工作流程和原理
netty工作流程和原理流程说明:bossGroup负责处理连接请求,请求成功后将chanel注册到读写chanel上,交给workGroup。当selector监听有读写事件发生时,遍历这些事件的key,调用具体的handler处理。netty相对于nio的优化netty将连接和读写的selector分开netty将buffer重新编写,从内存中指定直接内容,使用它的引用netty将各种遍历key,判断情景的情况封装,更加注重于业务...原创 2021-03-01 09:45:00 · 526 阅读 · 0 评论 -
dubbo模拟框架的自我搭建一
dubbo模拟框架的自我搭建一rpc:远程方法调用框架实现思路:1.提供一个服务得接口2.提供服务得实现类3.将服务注册到注册中心,将服务注册到本地4.使用tomcat处理请求整体流程图:说明:1.服务消费者向远程注册中心获取服务提供者的url2.通过url连接服务提供者3.服务提供者通过服务消费者提供的参数(包括执行参数,执行方法,接口名等)去本地注册中找实现方法执行,并返回执行结果限制与优化:限制:因为本项目没有连接第三方,如redis,zk。所以采用了对象刷磁盘来达到数据同原创 2021-02-24 17:54:05 · 203 阅读 · 0 评论 -
jvm出现问题的线程定位
jvm出现问题的线程定位jps获取当前的进程号pidtop -Hp +pid 获得占资源多的线程号tid (或者运行 ps -mp <pid> -o THREAD,tid,time | sort -k2r)printf "%x \n" <tid> 获得16进制thread-hex-idjstack -l <pid> | grep <thread-hex-id> -A 10获得堆栈对象占用信息:Jmap -histo +pid | head -原创 2021-02-18 10:02:31 · 246 阅读 · 0 评论 -
统计用户在各个月份的活跃(较大量数据)
需求:统计用户在各个月份的活跃(演示一个月的数据),一个用户在同一天会多次活跃,只记做一次基本sql:SELECT token FROM sdk_log.hear_beat_log bt WHERE bt.create_time >= '2020-09-01' AND bt.create_time < '2020-10-01' AND app_id IN ( 'bird_11d_cn_20190524', 'fbbdand2004' ) GRO原创 2020-12-28 12:43:04 · 952 阅读 · 0 评论 -
回收器类型+G1回收器概念
回收器类型+G1回收器概念一:串行收集器:开启:-XX:+SerialGC串行收集器组合 Serial + Serial Old串行收集器采用单线程stop-the-world的方式进行收集。当内存不足时,串行GC设置停顿标识,待所有线程都进入安全点(Safepoint)时,应用线程暂停,串行GC开始工作,采用单线程方式回收空间并整理内存。串行收集器特别适合堆内存不高、单核甚至双核CPU的场合二:并行收集器开启: -XX:+UseParallelGC(java 8默认开启的这种)并行收集原创 2020-12-23 15:40:03 · 179 阅读 · 0 评论 -
多线程处理list集合
记录一次多线程处理list集合的过程方法://计数 static AtomicInteger count = new AtomicInteger(0); //处理方法 public String moFee(List<JSONObject> list, final int nThreads) throws Exception { if (list == null || list.isEmpty()) { return nu原创 2020-12-17 16:34:04 · 343 阅读 · 1 评论 -
volatile原理分析
volatile原理分析:一:代码实例(不加volatile): static volatile boolean initFlag=false; public static void main(String[] args) throws InterruptedException { new Thread(new Runnable() { @Override public void run() {原创 2020-12-02 17:18:34 · 248 阅读 · 0 评论 -
synchronized原理
synchronized原理:一:先认识下object对象的结构对象由:对象头,实例数据,其他组成对象头mark word说明:hashcode标志唯一对象, epch.threadId,age 偏向状态,锁状态标志用户加锁,垃圾回收等,元数据指针指向元数据区的静态方法,数组长度储存数组对象长度二:synchronized用法class Student{private static Object object =new Objcet();synchronized(object){//锁原创 2020-12-02 16:26:50 · 190 阅读 · 0 评论 -
ThreadLocal
ThreadLocal了解学习thradLocal会为当前变量资源定义一个副本,在线程上是相互隔离的使用:public class ThreadLocalTest { public static void main(String[] args) { ThreadLocal<String> local=new ThreadLocal<>(); Random random = new Random(); IntStream.r原创 2020-11-24 10:00:15 · 142 阅读 · 0 评论 -
AutoGenerator 可通过mybatis-plus自动构建项目,可构建mapper,entity,service,controller等。
AutoGenerator 可通过mybatis-plus自动构建项目,可构建mapper,entity,service,controller等。项目截图:一:依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http...原创 2020-02-24 19:37:15 · 295 阅读 · 0 评论 -
springboot整合redis集群+jackson
springboot整合redis集群集群部署看另一篇文章 https://blog.csdn.net/qq_42011565/article/details/101546523项目图:整合开始1.导入pom.xml依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/...原创 2019-09-27 17:37:18 · 278 阅读 · 0 评论 -
map,list遍历删除
map遍历删除 Map maps=new ConcurrentHashMap<>(); for (int i=0;i<20;i++){ Student student = new Student(i, "zds" + i, "studentNo" + i); maps.put(student.getI...原创 2019-09-27 17:05:17 · 189 阅读 · 0 评论 -
io流
字节流:基类:inputStream,outputStream拷贝文件使用方法1.直接用字节数组的方式读取public static void main(String[] args) throws IOException { FileInputStream inputStream = new FileInputStream("d:/zds/Foods.zip"); F...原创 2019-08-18 18:13:03 · 135 阅读 · 0 评论 -
线程的三种实现方式
线程的三种实现方式:1.类直接继承thread类,重写run方法,实例化thread的实现类调用start方法开启线程package cn.zds;public class ThreadTest extends Thread{ private int idi; public void run() { for(int j=0; j<10 ;j++){ Syste...原创 2019-08-18 18:05:59 · 163 阅读 · 0 评论