- 博客(15)
- 问答 (1)
- 收藏
- 关注
原创 JAVA问题记录
1、MySql存储引擎 2、SpringMVC执行过程,前台发送请求,后台如何执行 3、AOP(面向切面编程)的理解及应用场景 4、动态代理 5、SpringBoot rest接口实现方式 6、ArrayList、LinkedList区别 7、CopyOnWriteArrayList中的copy原理,数组拷贝底层实现 8、UT具体场景,数据样例 9、创建线程的几种方式 ...
2021-08-24 18:03:06 140
原创 MySql
索引设计原则 1、适合索引的列是出现在where子句中的列,或者连接子句中指定的列; 2、数据量较少的表,索引效果差,没必要建立索引; 3、使用短索引, 4、更新频繁的数据不适合建立索引
2021-08-17 18:39:24 159
原创 SpringBoot
SpringBoot核心注解 @SpringBootApplication 主启动类中的run方法 自动配置核心注解: @EnableAutoConfiguration
2021-08-10 19:29:55 73
原创 SpringCloud
eureka服务注册中心 1、导入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-euerka-server</artifactId> <version>1.4.6.RELEASR</version> </dependency> 2、添加配置 #指定端口 ser
2021-08-07 10:05:24 98
原创 JVM
1、JVM的位置 JVM相当于一个运行java的软件,安装在window/Linux…上 2、JVM体系结构 java编译成class,通过类加载器和jvm交互。 3、类加载器 作用:加载Class文件 类加载机制(保证安全): 双亲委派机制 类加载时,查找class顺序: 类加载器收到类加载的请求,将加载请求一层层向上委托,直到根加载器。 优先执行根加载器(rt.jar),根加载器中没有的话再从扩展类加载器中找(jdk自带的exc文件夹中的jar包),最后使用应用程序的类(自己定义的类)。 4、沙箱安全机
2021-07-19 20:48:55 111
原创 集合
常见并发异常: java.util.ConcurrentModificationException List // 在多线程并发下,ArrayList是不安全的 // 解决办法 // 1.通过Vector实现 List<String> list = new Vector(); // 通过在add方法上加synchronized关键字实现 // 2.通过Collrctions工具类实现 List<String> list2 = Collections.synchronizedList(
2021-07-02 17:48:36 132
原创 为什么不推荐使用Lombok
Lombok优点: 代码简洁,减少冗余代码。 Lombok缺点: 1、侵入性太强。如果团队中有一个人使用lombok,团队中其他人都必须安装IDE插件; 2、代码可读性、调试性低。比如使用了lombok,想要看某个属性被哪些类调用,会很不方便; 3、坑 4、影响jdk升级。如果项目中用到的多个jar包使用了不同的lombok版本,就需要进行版本仲裁; 5、 ...
2021-06-19 13:02:29 6597 4
原创 Mybatis
一级缓存 SqlSession缓存, 一级缓存失效场景: 1、查询不同数据 2、发生增删改操作,可能影响缓存的 3、手动清除缓存 4、使用不同mapper.xml 二级缓存
2021-06-17 22:36:36 135
原创 Redis
事务 Redis的事务: 开启事务(multi) 命令入队(…) 执行事务(exec) 事务执行完后结束,再次执行需要重新开启事务。 取消/放弃事务(discard) 事务当时后,队列中的命令都不会被执行。 编译错误(相当于java中语法错误),事务中所有的命令都不会被执行! 运行时异常(如:1/0),其他命令正常执行,错误命令抛出异常。 ...
2021-06-16 20:42:09 81
原创 问题记录
1类加载器 Java->Class File -> 类加载器 Class Loader双亲委派机制:安全应用程序加载器(AppClassLoader) --> 扩展类加载器(ExtClassLoader) --> 根加载器(rootLoader) 2.多线程 java// 线程池// 线程池创建,三大方法Executors:Executors.newSingleThreadExecutor(); // 单个线程Executors.newFixedThreadPool(10); // 创建一个固定大小的线程池
2021-06-16 20:33:18 102
原创 锁
Lock和Synchronized Lock用法 // Lock三部曲 // 1、Lock lock = new ReentrantLock(); 创建锁对象 // 2、lock.lock(); 加锁 // 3、finally => lock.unlock(); 解锁 Lock lock = new ReentrantLock(); lock.lock(); try { // 需要加锁的业务代码 ... } catch(Exception e) { e.printStackTrace();
2021-06-16 20:15:34 85
原创 多线程
1.类加载 2.多线程 3.docker优点 4.项目开发过程中遇到的问题,目前项目存在的问题,项目框架优化改进 5.jvm参数 6.项目组用到的读文件,写文件
2021-05-26 13:03:33 141
空空如也
无法添加标签,无法修改文章
2021-08-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人