- 博客(50)
- 资源 (2)
- 收藏
- 关注
原创 讲诉JVM
应用类加载器就是加载我们写的类的,所谓的双亲委派就是 一个类的加载器收到请求,会先去尝试让父类加载,向上委派,如果父类加载过就不需要再加载,例如应用类加载器收到请求 会委派给扩展类加载器,扩展类加载器又委派给启动类加载器,这样做的好处就是确保安全,避免核心类被加载,避免重复加载保证唯一。触发:是按需要加载的,当被new到,静态方法或静态成员被访问到,反射操作等就会触发类的加载,,方法执行完, 栈帧就会被释放,后进先出,当线程运行完成,栈也就释放了。类的加载过程:加载,连接,初始化,使用,销毁。
2023-12-20 17:42:42 222
原创 学习-面试java基础-(集合)
反射可以用来获取类的名称、方法、属性、构造方法等信息,也可以用来调用类的方法、设置属性的值等。因为String的hash值经常会使用到,比如作为 Map 的键,不可变的特性使得 hash 值也不会变,不需要重新计算。*HashMap是非线程安全的,HashTable是线程安全的。*HashMap可以接受为null的key和value,key为null的键值对放在下标为0的头结点的链表中,而Hashtable则不行。无序 | 按照键的插入顺序 | 按照键的插入顺序 | 按照键的升序或降序。
2023-12-11 15:29:37 203
原创 学习-大厂面试题
ThreadLocal的实现原理是通过为每个线程维护一个独立的变量副本,使得每个线程都可以独立地操作自己的变量副本,从而实现线程间的数据隔离。2. 服务器收到SYN包后,向客户端发送一个SYN+ACK(确认)包,其中SYN和ACK标志位都设置为1,ACK的序列号为客户端发送的SYN包的序列号+1,同时服务器也随机产生一个序列号ack。3. 如果读取的数据已经被修改,则会读取旧版本的数据。MVCC可以保证数据库的一致性,因为读取的数据都是最新版本的数据,或者是旧版本的数据,不会出现数据不一致的情况。
2023-12-11 15:15:10 829
原创 学习JVM
java虚拟机----(javac编译)-----------(java运行)————机器码*解释和运行*内存管理*即时编译(跨平台-慢一点)jit(反复用到的代码 解释保存再内存里面)*类加载器,*运行时数据区(jvm管理的内存),*执行引擎(即时编译器,解释器,垃圾回收器)
2023-12-08 18:12:08 431
原创 学习-java多线程
通过其他线程调用interrupted(),打断睡眠(会抛interrupted异常)*如果非守护线程都结束,守护线程也强制结束(如果子线程是守护线程,主线程结束他也结束)*正常:java要等待所有线程结束才会结束,(不然主线程结束 子线程一样执行)优先级(1-10)默认5-(cup空闲的时候 几乎没有用)(线程状态:runing变runable(就绪))记录每个线程的执行到哪里-记录当前线程的状态。是线程用的,(后进先出)(执行完就会释放)记录当前线程的状态等信息(局部变量,等)
2023-12-08 16:25:15 978
原创 学习-ES
分布式搜索*可以从海量数据找到所需内容*结合 kibana(数据可视化),logstash(数据抓取),es(存储计算) 合称 ELK (数据分析,监控)mysql是正向索引()es是(先找查词条找到id,再根据id找到文档)文档:一条数据词条:将文档按语义分为词语(不重复)
2023-12-07 15:15:30 252
原创 学习kafka
一个存放消息的组件生产者, 消费者, broker三部分*生产者和消费者(消费者主动拉取信息,然后删除)*发布订阅()*一个topic有多个partition(副本(信息非全量),有分leader和follower)*消费者组(只消费leader的)(一个分区一个消费者处理)修改broker id修改ZK地址修改数据存放路径数据量先写道缓存 到达指定批次(默认16K),或等待(默认0秒)就发送*可以异步发送*可以异步发送回调*同步发送。
2023-12-05 16:12:51 591
原创 学习-java多线程面试题-各类型
tomcat中线程池走构造就会启动所有核心线程池*tomcat的思想优先启动线程,线程达到上线才加入队列线程池怎么设置核心线程数和最大线程数*先看是CPU密集型 还是IO密集型,或者是混合型*CUP密集可以+1*IO密集可以X2*核心业务可以多,非核心可以少,*最终还是要压测得到合适的。
2023-12-03 11:01:21 243
原创 学习MYSQL
DDL 建表DML增删改DQL查询DCL控制用户权限存储引擎*连接层*服务层(DML DDL ),不通的引擎 索引结构不同)*存储层,外键:(Foreign Key Relationship):从表的外键与主表的主键或唯一键相对应。(Cascade Update):当主表中的主键或唯一键更新时,从表中对应的外键也会自动更新。(Cascade Delete):当主表中的主键或唯一键删除时,从表中对应的外键也会自动删除或置为NULL。
2023-12-01 13:48:01 203
原创 学习SpringCloud
流程 项目启动----(bootstrap.yml)--(读取nacos配置)---读取本地.yml文件 --创建spring容器--加载bean。(feign.logger.level):4种(没有 (默认),基础,请求头,全部) 配置全局或者某个。三个部分组成:头部(Header)、载荷(Payload)和签名(Signature)。*正常流程 项目启动---读取本地.yml文件 --创建spring容器--加载bean。):选择状态为"UP"(可用)的服务实例中,响应时间最短的服务实例来处理请求。
2023-11-29 16:25:32 156
原创 学习Dubbo
调用同一个接口的不同版本 服务@service 配置version, 客户@Reference配置version。表示消费方对该服务的方法调用在失败后,再返回 null 值,不抛异常。当超时后重试retries默认2秒,配置在服务@service。配置在服务@service 默认超时1秒(建议) 或者客户@Reference。failover失败重试(默认)(一般读操作);表示消费方对该服务的方法调用都直接返回 null 值。服务查询 ,治理 ,路由, 负载均衡等。服务和消费都依赖公共的pojo。
2023-11-28 11:09:33 133
原创 学习netty
零拷贝 channelTransterTo 不用将数据拷贝到java中 jvm,适合小文件,选择器 (适合连接多,流量低)多路复用 单线程配合selector管理多个channel。netty是一个 NIO 框架,它提供了一个高性能、异步事件驱动的网络应用程序框架。flip读模式 clear写 compact压缩指针。遍历 fileWalkfileTree 访问者模式。线程池适合 短连接( 没有处理完就堵塞)seletor 解决自旋。多线程设计适合 少连接。非阻塞 自旋耗cpu。
2023-11-27 11:15:53 494
原创 Java设计模式之状态模式
http://www.mobange.com/nav/java/104971.htmlhttps://mikechen.cc/29502.html
2023-06-30 14:45:14 78
原创 kafka在linux启动
如果重启没有自动启动的话 ,就老老实实地敲命令,ps -ef | grep zook | grep -v grep | awk '{print $2}' | xargs kill -9ps -ef | grep kafka | grep -v grep | awk '{print $2}' | xargs kill -9检查关闭成功(双0):ps -ef | grep zook | grep -v grep | wc -lps -ef | grep kafka | grep -v grep |
2021-12-08 18:57:10 1324
原创 文件分片
package com.midea.ai.quality.interfaces.oss;import org.apache.commons.io.FileUtils;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.multipart.Mult.
2020-05-12 08:31:41 572
原创 微服务定时任务 莫名其妙全部死掉的原因 @Scheduled(cron = "0 */1 * * * ?")
springboot 我们一般都用 @Scheduled作为定时任务@Scheduled默认为单线程模式 ,如果同时有多个定时任务同时运行,是按同步运行的,所以如果有某个定时任务进入死循环或者用时比较长 就会影响其他的定时任务执行解决: 设置@Scheduled多线程添加下面类package com.midea.mcc.task;import org.springframew...
2019-10-23 10:25:24 2893
原创 MongoDB的客户端管理工具--nosqlbooster
https://www.cnblogs.com/xuliuzai/p/9651800.html
2019-09-04 12:12:56 444
转载 activiti6.0官网activiti-app使用教程(一)
https://my.oschina.net/u/1762811/blog/2249536
2019-06-14 15:38:16 3865
转载 ioc 和 aop
抄自https://zhidao.baidu.com/question/305818574.html我来说说我的理解:面试的时候,尽量不要照本宣科,这样给面试官的印象是很差的。用自己的话理解是最好的。我先来将两个例子:ioc,控制反转,这个指的就是我们获取对象的方式进行反转了,改变了。在使用spring之前是需要手动new出来的,是我们主动获取的。使用spring之后,是将这个获取的...
2019-05-22 15:05:23 252
转载 线程池ExecutorService
https://www.cnblogs.com/zhaoyan001/p/7049627.htmlhttps://blog.csdn.net/fwt336/article/details/81530581
2019-05-13 15:00:17 83
转载 多线程高并发
https://github.com/CyC2018/CS-Notes/blob/master/notes/Java%20%E5%B9%B6%E5%8F%91.md
2019-05-13 10:51:03 227
转载 java40个多线程问题总结
java40个多线程问题总结http://baijiahao.baidu.com/s?id=1579957724724090222&wfr=spider&for=pc
2019-05-10 09:01:33 117
转载 java设计模式之责任链模式
https://www.jianshu.com/p/d2a75fafadf5https://www.jianshu.com/p/d2a75fafadf5
2019-04-26 15:44:50 102
原创 数据库引擎
c.大容量的数据集时趋向于选择Innodb。因为它支持事务处理和故障的恢复。Innodb可以利用数据日志来进行数据的恢复。主键的查询在Innodb也是比较快的。d.大批量的插入语句时(这里是INSERT语句)在MyIASM引擎中执行的比较的快,但是UPDATE语句在Innodb下执行的会比较的快,尤其是在并发量大的时候。https://www.cnblogs.com/sunsky30...
2019-04-24 15:39:30 106
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人