- 博客(27)
- 资源 (2)
- 收藏
- 关注
原创 【Spring Boot】SpringBoot整合Redis
SpringBoot整合Redis1.添加maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>2.配置Redis连接spring.redis.host=192.168.157.11spring.re
2020-08-05 12:56:22
152
原创 【Java杂谈】fail-fast与fail-safe
fail-fast与fail-safefail-fastArrayList的Iterator遍历是fail-fast的,直接在原来的数组上遍历,当发现原来的数组结构改变时会抛出ConcurrentModificationException异常。ArrayList中有一个int型成员变量modCount,ArrayList的Iterator中保存了一个int型变量expectedModCount默认值为此时ArrayList的modCount。**当调用ArrayList的add()、remove()和
2020-07-12 11:18:31
169
原创 【Java杂谈】String字符串常量池
String杂谈String s = new String(“abc”)产生几个对象?首先会检查常量池中是否有“abc”这个对象如果没有,则先在常量池中创建“abc”对象,然后在堆中创建String对象,其中的value指向常量池中的“abc”如果有,则只在堆中创建String对象总结:常量池中没有“abc”对象则会创建2个对象,常量池中有“abc”对象则会创建1个对象。关于String.inner()方法先说结论:jdk1.7之前,intern()方法会把首次遇到的字符串实例复制到方法
2020-07-12 11:17:31
274
原创 【Spring】@Autowired注入流程
@Autowired注入流程与xml配置方式相比,开启注解处理之后在加载BeanDefinition时会额外添加几个用于处理注解的组件,一个BeanDefinitionRegistryPostProcessor和若干个BeanPostProcessor,这些组件用于在bean的各个生命周期中对标注的注解做相应的处理。大体流程与不使用注解的方式类似,使用注解的方式只是在某些阶段额外做了一些对于注解的处理。开启注解扫描其实就是在原有的基础上增加了一些功能。初始化工厂,加载BeanDefinition
2020-07-12 11:10:42
856
原创 【Spring】Spring启动流程源码分析
Spring启动流程源码分析Bean生命周期启动流程测试目录结构及代码单独的测试类都是以“My+该类实现的接口”来命名的public class Main{ public static void main(String[] args){ System.out.println("【容器开始初始化】"); ApplicationContext applicationContext = new ClassPathXmlApplicationContext("a
2020-07-12 11:08:26
345
原创 搭建Redis高可用的三种方式
Redis主从复制当master出现问题时需要手动切换master在从机的配置文件中做如下配置:replicaof <masterip> <masterport>或者在启动从机实例时使用redis-server /etc/redis/6379.conf --replicaof 192.168.157.11 6379或者使用redis-cli连接从机实例后执行 REPLICAOF 192.168.157.11 6379 命令也可以调用命令:REPLICAOF no
2020-07-12 11:04:54
218
原创 【多线程高并发系列】J.U.C并发容器
J.U.C并发容器同步容器如Vector、Hashtable、Collections.synchronizedXXX虽然保证线程安全,但同一时间只允许有一个线程访问,使各个线程的操作变成了线性操作。为了提高并发度,juc包下的并发容器诞生。并发容器List、Set、Map一、ConcurrentHashMapJDK1.7JDK1.7采用数组+链表,结构与1.7的HashMap类似。使用分段锁思想保证线程安全。每个ConcurrentHashMap中有一个Segment[]数组,每个Se
2020-07-12 11:02:19
284
原创 【Java集合框架】Map
HashMap(可以存null键)JDK1.7之前采用数组+链表的结构,插入元素使用头插法。JDK1.8之后采用数组+链表+红黑树结构,使用尾插法。在JDK1.7时,可能会因为hashcode计算的不得当而造成链表过长的问题,查找时可能会遍历链表,时间复杂度O(n)。JDK1.8添加了红黑树结构,红黑树是平衡查找树,查找过程是二分的,复杂度O(logn)。默认容量为16,加载因子为0.......
2020-03-20 16:37:45
185
原创 【Java集合框架】Collection
List接口实现类(能添加多个null值)线程不安全的Collection和Map都能用Collections.synchronizedXXX()使其成为同步容器(线程安全)。ArrayListArrayList底层维护一个Object数组,如果不指定初始容量的话会先创建一个空数组,在第一次add()的时候将容量扩容为10。扩容、删除等操作大多是使用System.arraycopy。a...
2020-03-20 08:21:58
141
原创 【多线程高并发系列】透过ReentrantLock看AQS
透过ReentrantLock看AQS需要注意的是:ReentrantLock和synchronized对于wait/await或notify/signal方法的调用不会积压,也就是说当等待队列为空时调用notify/signal不会产生任何效果,并且会消耗调用的效果。于此相反的是LockSupport中的park和unpark,对于这两种方法的调用会积压,也就是说先调用unpark再调用par...
2020-03-07 12:07:50
160
原创 【多线程高并发系列】ThreadLocal内存泄漏分析
一、ThreadLocal结构每个Thread都有一个ThreadLocalMap类型的成员变量threadLocals,ThreadLocalMap中有一个Entry[ ]类型的成员变量table,Entry保存对threadLocal对象的引用和对应set进去的值,Entry本身继承了WeakReference。ThreadLocal更像一个工具,ThreadLocalMap实现了对内部E...
2020-02-27 01:26:40
377
原创 【Spring Boot】Spring Boot配置slf4j+logback
logback配置日志滚动分类存储导入logback日志依赖后会自动导入slf4j的api包 <!-- logback --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> ...
2020-02-22 22:45:29
146
原创 【Spring Boot】Spring Boot整合dubbo+zookeeper
API接口部分定义一些接口和相关的bean。注意:bean需要实现Serializable接口,否则会报序列化错误。服务提供者注意:移除zookeeper中的slf4j依赖。pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" x...
2020-02-20 00:16:15
140
原创 docker-compose部署tomcat集群和nginx负载均衡
docker-compose.ymlversion: "3"#虚拟网络配置,分配虚拟IP地址,当前配置使容器之间组成局域网(与driver的选择有关)networks: my-net: driver: bridge ipam: driver: default config: - subnet: 192.168.0.0/24 #...
2020-02-13 19:36:42
726
原创 Android状态栏完全透明和改变状态栏颜色实现
状态栏全透明 //状态栏全透明实现 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANS...
2020-01-17 11:35:06
944
1
原创 【Spring Boot】Spring Boot启用WebSocket实现用户与用户间发送消息
Spring Boot使用WebSocket实现用户之间发送消息步骤1.在pom中添加websocket依赖 <!-- websocket --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta...
2019-10-15 08:11:38
499
原创 MySQL开启远程用户登录及其他配置
MySQL开启远程用户登录步骤1.登录MySQLmysql -u root -p2.选择mysql数据库use mysql;也可查看用户列表(已经添加了远程管理用户的)select host,user from user;#其中'%'为通配符,代表任意地址+-----------+------------------+| host | user ...
2019-10-02 15:10:08
192
原创 【Spring Boot】SpringBoot启用AOP
Spring Boot启用AOP1.引入AOP依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>2.定义目标对象定义接...
2019-09-27 19:34:55
1785
原创 Ubuntu设置开机自启脚本
Ubuntu设置开机自启脚本注意:Ubuntu 18中没有/etc/rc.local,需要自行创建1.将/lib/systemd/system/rc-local.service软连接到/etc/rc-local.service软连接命令:ln -fs /lib/systemd/system/rc-local.service /etc/rc-local.service2.补全rc-loca...
2019-09-23 10:00:13
267
原创 Ubuntu设置开机自启redis服务
1.复制/redis/utils/redis_init_script到/etc/init.d/执行复制语句:sudo cp /redis-stable/utils/redis_init_script /etc/init.d/redis2.修改/etc/init.d/redis内容#!/bin/sh## Simple Redis init.d script conceived to w...
2019-09-23 09:59:47
408
原创 Linux将程序后台运行、停止的命令
##后台运行后台运行程序的命令为nohup 命令 &例如运行某一个可执行jar程序nohup java -jar my-project.jar &此时会提示当前进程的PID,回车即可此时如果不指定日志输出位置,将默认输出到与jar包相同目录下的 nohup.out 文件中也可对标准输出重定向到指定日志文件nohup java -jar my-project.jar &g...
2019-09-17 13:33:47
1300
原创 MyBatis的Generator配置
步骤1.在pom中导入插件<plugins> <!-- mybatis generator 自动生成代码插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <...
2019-09-17 13:33:13
110
原创 mybatis错误:There is no getter for property named xxxx
错误信息There is no getter for property named ‘xxx’ in ‘class xxxxxxxxx’解决方法注意Mapper文件中是否字段与属性不匹配,检查拼写错误。当parameterType为实体类时,注意sql语句中#{}中间直接加属性名,无需加实体名。例如:<insert id="addBlog" parameterType="blo...
2019-09-14 20:30:33
404
原创 spring boot和thymeleaf本地部署成功但服务器部署失败Error resolving template
错误现象spring boot项目使用thymeleaf在本地部署成功运行,但是发布到服务器显示错误:rocessing template “/admin/login”: Error resolving template [/admin/login], template might not exist or might not be accessible by any of the config...
2019-09-12 16:26:58
1479
原创 jQuery的$.ajax()方法里success回调方法和error回调方法参数
jQuery的$.ajax()方法里success回调方法参数function(response,status,xhr) 其中response: 包含来自请求的结果数据status: 包含请求的状态(“success”, “notmodified”, “error”, “timeout” 或 “parsererror”)xhr : 包含 XMLHttpRequest 对象...
2019-09-09 11:37:59
1532
原创 设置cookie有效时间以保持session会话
通过session id能确定唯一的session。session id是通过key为“JSESSIONID”、value为session id保存到cookie中,而默认的cookie持续时间是到浏览器关闭,当浏览器关闭时cookie就会失效,cookie失效了里面保存的含有session id的键值对也就失效了。可以自己向响应中添加cooki并设置持续时间 //session持续时间2小...
2019-09-09 11:31:46
2950
原创 jdbc连接mysql需要配置的的url
StringURL=“jdbc:mysql://localhost:3306/db_test”+“characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true”;
2019-05-17 20:47:14
897
Servlet+JSP潮流好物销售系统
2023-05-29
SpringBoot和Thymeleaf搭建的个人博客项目
2021-03-16
Android通讯录源码
2020-09-18
图书管理系统.zip
2020-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人