摘要: java的元注解一共有四个:@Document@Target@Retention@Inheritedspring中的注解:@Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean@ConditionalOnBean(仅仅在当前上下文中存在某个 阅读全文
posted @ 2020-11-12 14:51 小鑫学JAVA 阅读(231) 评论(0) 推荐(0)
摘要: 1)redis redis是一种键值对的单线程架构模型,所以它是线程安全的,也是分布式缓存常用的解决方案。 2)lua lua是基于c语言的一种脚本语言,它可以很轻便地被使用在嵌入式方面。我们不会去重写redis,但是我们可以去使用lua来扩展redis的功能。而redis也内置了对lua支持的模块 阅读全文
posted @ 2020-11-10 16:39 小鑫学JAVA 阅读(186) 评论(0) 推荐(0)
摘要: Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。 Explain语法:explain select … from … [where .. 阅读全文
posted @ 2020-11-03 11:48 小鑫学JAVA 阅读(47) 评论(0) 推荐(0)
摘要: spring aop 实现原理 1.JDK动态代理: 代理的类必须实现一个接口2.CGLIB动态代理: 动态生成被代理类的子类 JDK动态代理通过反射来接收被代理的类,并且要求被代理的类必须实现一个接口,核心是InvocationHandler接口和Proxy类 CGLIB(Code Generat 阅读全文
posted @ 2020-10-29 16:30 小鑫学JAVA 阅读(73) 评论(0) 推荐(0)
摘要: 实例化SpringApplication: SpringApplication初始化时主要做三件事情: 1.根据classpath下是否存在(ConfigurableWebApplicationContext)判断是否要启动一个web applicationContext2.SpringFactor 阅读全文
posted @ 2020-10-29 15:33 小鑫学JAVA 阅读(86) 评论(0) 推荐(0)
摘要: volatile与synchronized区别 仅靠volatile不能保证线程的安全性。(原子性)①volatile轻量级,只能修饰变量。synchronized重量级,还可修饰方法②volatile只能保证数据的可见性,不能用来同步,因为多个线程并发访问volatile修饰的变量不会阻塞。syn 阅读全文
posted @ 2020-10-27 16:35 小鑫学JAVA 阅读(84) 评论(0) 推荐(0)
摘要: public synchronized void start() {//方法加锁,同一时间start只能被调用一次 /**0状态值对应状态“NEW” * A zero status value corresponds to state "NEW". */ if (threadStatus != 0) 阅读全文
posted @ 2020-10-27 16:29 小鑫学JAVA 阅读(134) 评论(0) 推荐(0)
摘要: 什么是Spring? Spring框架存在的意义就是为了降低耦合度, 根据不同的代码采用不同的方式, 通过IOC来降低主业务逻辑之间的耦合度, 通过AOP来降低系统级服务(如日志、安全、事务等)和主业务逻辑之间的耦合度. 此外还提供了一个Web层的框架Spring MVC. Spring容器 在介绍 阅读全文
posted @ 2020-10-27 15:24 小鑫学JAVA 阅读(69) 评论(0) 推荐(0)
摘要: TreeMap概叙: TreeMap存储K-V键值对,通过红黑树(R-B tree)实现; TreeMap继承了NavigableMap接口,NavigableMap接口继承了SortedMap接口,可支持一系列的导航定位以及导航操作的方法,当然只是提供了接口,需要TreeMap自己去实现; Tre 阅读全文
posted @ 2020-10-23 17:15 小鑫学JAVA 阅读(106) 评论(0) 推荐(0)
摘要: Bean生命周期的过程 Bean生命周期一般有下面的四个阶段: Bean的定义 Bean的初始化 Bean的生存期 Bean的销毁 Bean的定义过程: 第一步,资源定位,就是Spring根据我们定义的注解(@Component),找到相应的类。 找到了资源就开始解析,并将定义的信息保存起来,此时, 阅读全文
posted @ 2020-10-16 16:25 小鑫学JAVA 阅读(253) 评论(0) 推荐(0)