自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 玩转SpringBoot原理:掌握核心技术,成为高级开发者

成功不是偶然的,而是你日复一日努力的结果,永远不要放弃自己的梦想。在其他Springboot项目中,我们只需要在pom.xml} }

2023-03-18 16:19:24 461

原创 并发编程-线程

线程池可以避免频繁创建和销毁线程的开销,同时可以限制并发线程的数量,避免资源过度占用。Java中提供了ThreadPoolExecutor类作为线程池的实现,同时也提供了Executors类作为线程池的工厂,使得可以更加快速地创建线程池。同时阐述了他们的实现方式,优缺点,注意事项和最佳实践,在实际开发中,我们需要根据具体应用场景选择合适的线程池参数和线程安全技术手段,以避免出现数据竞争、死锁、饥饿等问题。在这种状态下,线程不会占用CPU资源,直到指定的时间到达或者被其他线程唤醒,才会进入就绪状态。

2023-03-12 02:52:40 205

原创 JVM总结

JVM(Java Virtual Machine),俗称Java虚拟机。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。

2023-02-27 22:27:32 400 2

原创 MySQL总结

MYSQL

2023-02-19 02:11:40 316

原创 多线程应用总结

1.常用的锁操作1.1:synchronized通过对象的内存地址来锁定代码块 private int count =10; private Object o=new Object(); public void m(){ synchronized (o){ count--; System.out.printl...

2020-02-28 16:05:30 225 1

原创 全面了解 Redis 高级特性,实现高性能、高可靠的数据存储和处理

Redis 是一种高性能、高可靠的内存数据存储和处理系统,它支持多种数据结构和协议,可以用于各种不同的应用场景。本文将介绍 Redis 的高级特性,包括持久化、事务、Lua 脚本等方面,以及如何使用这些特性实现高性能、高可靠的数据存储和处理。

2023-03-25 09:09:19 388

原创 玩转Mybatis高级特性:让你的数据操作更上一层楼

Mybatis高级特性能够帮助我们更加灵活地操作数据库,包括动态SQL、缓存机制、插件机制、自定义类型转换等。学习这些特性可以让我们更好地利用Mybatis,提高数据操作的效率和质量。

2023-03-23 17:56:31 375

原创 Spring:现代Java开发的必备框架

Spring是一个轻量级的Java框架,它提供了各种企业级应用程序开发的工具和技术。Spring框架的核心是IoC容器和AOP框架。IoC容器使得Java应用程序的组件化变得更加容易,AOP框架使得Java应用程序的切面编程变得更加容易。Spring框架还提供了许多其他的功能,例如数据访问、Web开发、安全性、事务管理等。

2023-03-14 00:04:37 245

原创 并发编程-进程

管道是内核管理的一个缓冲区,相当于内存中一个的小纸条,管道的一端连接着一个进程的输入,一端连接着另一个进程的输出,当管道中没有信息的话,从管道中读的进程会阻塞,直到另一端的进程放入信息,当管道中信息放满时,尝试放入信息的进程会阻塞,直到另一个端进程取出信息,当两个进程都结束时,管道也就结束了。数据报套接字:通过UDP/IP实现,提供一个无序的,不可靠的服务,他不需要建立和维护连接,作为一个单独的网络消息被传输,可能会丢失,复制或乱序的到达,但开销很小,适用于单次查询,不保留连接信息。

2023-03-11 13:52:19 271

原创 MySQL调优

MySQL调优

2023-02-23 23:57:41 131

原创 Netty

Netty

2023-02-16 22:14:15 554

原创 spring注册BeanDefinition过程

测试代码public class ContextApplication { public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring.xml"); IUserService userService = context.getBean("userService", I

2022-04-21 23:44:41 660

原创 spring创建bean过程

一.前言spring作为JAVAEE最核心的框架,是每一个java开发者所必须掌握的,非常重要,本篇从一个简单例子入手,由浅入深的分析spring创建bean的全过程,目标在于彻底搞懂spring原理,方便以后整合其他框架二.测试代码 /** * * * @author <a href="mailto:2256222053@qq.com">zc</a> * @Date 2022/4/3 0003 14:45 */@Lazy public class Cr

2022-04-21 23:43:23 1882

原创 【设计模式原则-依赖倒置原则】

什么是依赖倒置原则依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。《百度百科》在Java中的具体体现就是面向接口编程,在接收变量或声名变量时使用接口或抽象类依赖倒置原则的优点降低类间的耦合性。提高系统的稳定性。减少并行开发引起的风险。提高代码的可读性和可维护性。使用依赖倒置的事例public class Client {

2021-12-27 05:38:22 280

转载 安装electron失败 postinstall: `node install.js`

解决方法:将electron下载地址指向taobao镜像npm config set electron_mirror “https://npm.taobao.org/mirrors/electron/”

2021-07-30 15:37:04 7316 1

原创 shiro总结

shiro主要内容:1:SecurityUtils:shiro的工具类,主要作用是获取 SecurityManager和Subjectpublic abstract class SecurityUtils { private static SecurityManager securityManager; //获取Subject public static Subject getSubject() { Subject subject = ThreadContex

2021-04-07 10:14:34 3333 5

原创 io.netty.handler.codec.CorruptedFrameException: Max frame length of 65536 has been exceeded.

记录一下今天使用netty的两个坑1:channel在 active回调里发送消息失败具体如下:连接成功,但是并没有消息返回解决方法:创建新线程异步发送 new Thread(()-> ctx.channel().writeAndFlush(new TextWebSocketFrame("{\"FaceCount\": 0}"))).start();2:客户端发送的数据过大,服务端接收异常解决方法:设置服务端编码器的最大数据长度pipeline.addLast(ne

2021-03-10 22:50:28 1910

原创 重新认识一下HashMap

HashMap源码解析1,HashMap数据结构,在jdk1.8之前HashMap采用数组+链表的结构,而在1.8的时候采用数组+链表+红黑树的结构,为什么要采用数组+链表+红黑树呢数组查询效率快链表是为了解决数组同一位置的冲突,还有一个就是删除,添加快红黑树是在链表长度太大时,将链表改成黑红数可以大大提高效率数据结构大概就是这个样子先看一下HashMap的构造器public...

2020-07-03 17:01:35 317

原创 初探JVM垃圾回收机制

1JVM心中的垃圾对象长什么样子?(确定垃圾)主要通过下面两个方法来确定这个对象是否为垃圾对象1:引用计数法java里面在操作对象之前,需要先拿到对象的引用,引用记数法就是通过计算这个引用确定,在为对象添加一个引用时,引用计数加1,删除时,引用计数减1,当引用计数为0时则表示这个对象没有被引用,就可以确定它是一个垃圾了缺点:如果有循环引用,则引用计数一直不为0,一直无法被回收2:可达性分析解决了引用记数法的循环引用问题可达性分析通过定义一个GC Root对象,向下搜索,搜索的路径被称为引用链,

2020-07-01 22:08:46 221

原创 JVM内存模型总结

1内存模型1.1:线程私有区域1.1.1 程序计数器:为什么会有程序计数器:JVM的多线程是通过CPU时间片轮转(即线程轮流切换并分配处理器执行时间)算法来实现的。所以某个线程在执行过程中可能会因为时间片耗尽而被挂起,而另一个线程获取到时间片开始执行。当被挂起的线程重新获取到时间片的时候,它要想从被挂起的地方继续执行,就必须知道它上次执行到哪个位置,在JVM中,通过程序计数器就是来记录某个线程的字节码执行位置的特点: 1. 用于存储当前运行的线程所执行的字节码的行号指示器 2. 线程隔

2020-07-01 13:11:00 128

原创 Mysql存储引擎

InnoDB存储引擎场景:面向在线事务处理(OLTP)的应用特点:支持事务,行锁设计、支持外键,并支持类似于Oracle的非锁定读,即默认读取操作不会产生锁重点:从MySQL数据库5.5.8版本开始,InnoDB存储引擎是默认的存储引擎MyISAM存储引擎场景:主要面向一些OLAP数据库应用特点:它的缓冲池只缓存(cache)索引文件,而不缓冲数据文件不支持事务、表锁设计,支持全文索引,MySQL 5.5.8版本之前MyISAM存储引擎是默认的存储引擎(除Windows版本外)NDB

2020-05-16 15:45:17 119

原创 docker安装jenkins实现持续部署持续集成

我的环境:服务器:centos7.3docker:1.安装docker:yum install -f docker2.安装docker-compose:curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-uname -s-uname -m -o /usr/local/bin/...

2019-10-19 21:05:03 393

原创 docker命令大全

安装docker:yum install docker启动docker: docker start docker或者systemctl start docker停止docker:docker stop docker或者systemctl stop docker重启docker:docker restart或者systemctl stop restart1查看信息查看docker版本信...

2019-10-11 14:45:50 133

原创 springboot+swagger+shiro+jwt+redis

springboot+shiro+jwt+redis要实现的功能登陆认证权限控制自动延长token过期时间实现步骤1,准备环境1.1,创建一个springboot项目,导入2,整合shiro2.1,添加shiro依赖在pom文件添加依赖 <!--shiro--> <dependency> ...

2019-05-25 19:25:55 10508 13

原创 IDEA-神器

IDEA-插件idea 主题 :http://www.riaway.com/activate-power-mode :在编码的时候,整个屏幕都为之颤抖的插件Nyan progress bar:所有的进度条都变成萌新动画的小插件ECtranslation :翻译插件EasyCode:代码生成器Grep Console:自定义日志颜色Lombok plugin:省去get和se...

2019-05-16 15:57:01 5425

原创 mysql配置互为主从

mysql配置互为主从1 ,配置主机11.1 windos修改my.ini,linux修改my.cnf在mysqld下面添加如下代码server-id=1#二进制日志文件auto_increment_increment = 2auto_increment_offset = 1log-bin="D:/Program Files/MySQL/MySQL Server 5.5/data/...

2019-05-13 12:39:19 341

原创 docker 拉取镜像错误 Error response from daemon: Get https://registry-1.docker.io/v2/:

问题:[root@localhost ~]# docker pull mysql:5.5Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while aw...

2019-05-13 09:55:47 17997 6

原创 mysql配置一主一从,实现读写分离

MySQL配置主从同步1主数据库配置1.1配置my.ini也是在mysqld配置下面添加#idserver-id=1#二进制日志文件log-bin="D:/Program Files/MySQL/MySQL Server 5.5/data/mysql-bin"1.2添加从数据库账号执行这个sql语句,第一个root是账号,@后面是网段,后面root是密码 grant repl...

2019-05-12 15:22:09 271

原创 Springboot2.1.4集成redis注解版

Springboot2.1.4集成redis注解版创建springboot项目导入依赖配置redis连接信息创建序列化器配置缓存管理器测试1创建springboot项目选中这几个模块,后面不够再加2,导入依赖在pom文件加入 <!--spring2.0集成redis所需common-pool2--> <dependency> ...

2019-05-10 22:52:08 4183 2

原创 springboot集成Swagger

springboot集成SwaggerSwagger是一个用于生成RESTful 风格的api的框架,可以减少开发人员写文档的时间,简单实用,下面开始介绍怎么在springboot中使用它1创建springboot初始项目这里要选中web模块这是创建出来的项目结构2添加依赖在pom里面添加Swagger依赖 <!--swagger--> <...

2019-05-10 20:40:45 279

原创 代码神器------Easycode

昨天搞了一天Generatoar,虽然也能生成代码,但是非常的麻烦,要各种配置,如果对maven和Genertaoar属性不熟悉,相信会出各种bug。好了,话不多说,下面开始介绍EasycodeEasycode是idea的一个插件,可以直接对数据的表生成entity,controller,service,dao,mapper,无需任何编码,简单而强大,简直不要太爽1,安装Easycode打...

2019-05-09 14:55:40 4548 1

原创 Springboot使用MyBatis Generator代码生成器

Springboot使用MyBatis Generator代码生成器1 新建springboot初始项目``选择springboot向导器取个名字这里可以什么都不选 然后就一直下一步直到完成项目结构如上,下面步入正文2添加依赖和maven配置<plugin> <groupId>org.mybatis.generator&...

2019-05-08 13:05:39 330

原创 mysql索引

随着对mysql的使用越来越多,索引这个东西已经是必须要了解的了,所以在此记录一下学习心得,如有误解的地方还请多多指正为什么使用索引使用索引大大的减少了存储引擎需要扫描的数据量减少排序,避免使用临时表把随机I/O变成顺序I/O索引类型B-tree索引特点以B+树的结构存储数据加快数据的查询速度适合进行范围查找使用情况全职匹配的查询匹配最左前缀的查询匹配列前缀查...

2019-05-07 21:53:54 98

空空如也

空空如也

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

TA关注的人

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