自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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> &lt...

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潮流好物销售系统

基于Servlet和JSP实现的商品销售系统,自带sql建库文件和功能说明文档,可作为Java Web初学练手项目或课程设计,使用IDEA或Eclipse均可运行,数据库为MySQL。 该项目角色分为普通用户和管理员,主要功能包括查询商品、加入购物车、购买商品、支付订单、查询订单、评价商品等功能。

2023-05-29

SpringBoot和Thymeleaf搭建的个人博客项目

使用Spring Boot和Thymeleaf模板引擎,适合搭建个人博客,拿来即用,内含全套资源,包括sql建表文件。

2021-03-16

Android通讯录源码

Android Studio开发的手机通讯录,包括基本的通讯录功能,如:查看、修改、添加、删除联系人,拨打电话、发送短信、查看通话记录、短信记录、开场动画等。添加或修改联系人信息时可以上传用户头像,头像来源可以是拍照或从相册选取,关键代码包含比较完整的注释,使用Android Studio或Eclipse导入即可使用。

2020-09-18

图书管理系统.zip

角色分为普通用户和管理员。管理员功能:修改图书信息、注册审核、借阅查询、借阅排行、修改用户信息等。普通用户功能:借阅、归还、借阅查询、登录、注册等。适合Java课程设计或毕业设计。

2020-07-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除