自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (3)
  • 收藏
  • 关注

原创 ubuntu mysql+java

修改其密码格式 select user,plugin from user;

2023-07-30 01:07:16 893

原创 BeanFactory结构

ConfigutableBeanFactory: 提供了前面三个基类中开放获取接口对应的设置接口,并提供了设置**改工厂的父工厂**(也是分层工厂子类的一种实现)、**设置bean的类加载器**(和临时加载器)、**设置工厂是否开启缓存**、设置**bean definition 指定表达式解析策略**等等;ListableBeanFactory(可列举的bean工厂(多花样查询,涉及到了BeanDefiniton,这里仅仅开放了获取的接口,而没有开放设置的接口);

2023-02-14 10:26:27 115

原创 java之并发基础

synchronized保证多线程访问资源的同步性,它修饰的方法,代码块同时只能有一个线程执行重量级:synchronized依赖于对象监视器来实现的,而监视器底层依赖于操作系统Mutex Lock(互斥锁)实现,java线程是映射到操作系统的线程上,线程的唤醒和挂起都是需要操作系统实现。系统实现线程切换需要从用户态转换到系统态是非常耗时的,效率低下。优化:jdk6从jvm层对synchronized进行优化,引入偏向锁,轻量级锁来减少锁的开销。使用:static方法和synchronize

2022-03-23 15:24:44 639

原创 redis

redis是一款基于c语言的key-value数据库,支持发布订阅模式,可以用来做缓存,还可以做消息队列,分布式锁等等redis支持5种数据结构string,list,set,zset,hash1.string使用简单动态字符串,不使用C语言的数组,可以保存二进制数据,C语言只能保存文本,获取字符串长度复杂度为O(1),C语言为O(N),C语言不保存长度,需要遍历。安全的api,能避免缓冲区溢出内存泄漏问题。常用命令set,get,strlen(字符串长度),exists,decr,incr,set

2022-03-22 17:39:55 1931

原创 分布式事务

常见解决分布式事务的方案:https://www.cnblogs.com/crazyma2PC:强一致3PC:与2PC比较,增加超时TCC:try-confirm-cancel本地消息表:利用各系统本地事务实现分布式事务消息事务:RocketMQ支持分布式消息最大努力通知:柔性事务思想Seata是阿里巴巴退出的一款用来解决分布式事务问题的框架Seata组成部分:1.事物协调者TC:协调者2.事物管理器TM:发起者3.资源管理器TM:参与方...

2022-03-21 17:49:31 446

原创 RocketMQ

1.主题中存在多个队列,生产者向主题中指定的队列发送消息2.在集群模式下,一个消费者集群共同消费一个主题中的多个队列,但一个队列只会被一个消费者消费;在广播模式下,会被订阅主题的所有消费者消费3.每个消费者组在每个队列上维护一个消费位移(offset),消费者每消费一条消息,会发送一个成功响应,位移就向前移动一次,避免消息重复消费4.RocketMQ通过一个主题配置多个队列,每个队列维护消费者组的消费位移实现主题模式,提高并发能力5.一个topic分布多个broker上,一个broker上有

2022-03-17 11:58:04 6197

原创 mysql之事物

并发事物带来的问题脏读:一个事物读取到另外个事物修改未提交的数据丢失修改:两个事物对数据进行了相同的修改不可重复读:事物提交前重复读取结果不一致(另外个事物可修改数据导致)幻读:事务的两次查询的结果集记录数不一致(受INSERT和DELETE影响的不可重复读的一种特殊场景)数据库隔离级别READ-UNCOMMITTED(读取未提交):最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。READ-COMMITTED(读取已提交):允许读取并发事务已经提

2022-03-15 17:37:58 1520

原创 mysql之日志

mysql日志主要有:错误日志,慢日志,事物日志,二进制日志等几大类。比较重要的还要属二进制日志binlog(归档日志)和事务日志redo log(重做日志)和undo log(回滚日志)redo log:InnoDB存储引擎,让mysql有奔溃后恢复的能力。mysql按页读取数据,先查询Buffer Pool,没有命中再去硬盘加载。mysql更新数据时,发现 Buffer Pool 里存在要更新的数据,就直接在 Buffer Pool 里更新。然后会把“在某个数据页上做了什么修改”记录...

2022-03-15 16:14:04 1655

原创 mysql之索引

索引的底层数据结构mysql中索引分结构分为B+tree和hash两种存储结构1>.hash:做等值查询("=","IN"和"<=>"查询),不能用做顺序范围查询(因为hash计算过后的索引并不一能保证之前的大小关系),数据大量的hash值相等容易hash碰撞(hashMap通过链地址法解决,后加入变换红黑树);组合索引:不支持模糊匹配(hash值是通过对组合索引计算的)2>.B+tree:每个叶子节点才存储数据,其他节点存储索引,叶子节点按照从小到大范围排序,可以做范围

2022-03-15 11:42:47 889

原创 netty源码之NioEventLoop

NioEventLoop 父类SingleThreadEventExecutor的execute(Runnable task)添加任务时,判断reactor线程是否启动,未启动则启动SingleThreadEventExecutor.this.run() -> NioEventLoop->run() @Override protected void run() { for (;;) { try { t

2022-03-01 10:20:56 59

原创 netty源码分析

netty服务端启动源码分析(https://www.jianshu.com/u/4fdc8c2315e8)

2022-02-28 11:02:28 216

原创 netty 面试题一

1.BIO、NIO和AIO的区别?2.NIO的组成?3.Netty的特点?4.Netty的线程模型?5.TCP 粘包/拆包的原因及解决方法?6.了解哪几种序列化协议?7.如何选择序列化协议?8.Netty的零拷贝实现?9.Netty的高性能表现在哪些方面?10.NIOEventLoopGroup源码?...

2022-02-24 11:48:26 284

原创 netty面试题二

1.Netty 核心组件有哪些?分别有什么作用?2.EventloopGroup 了解么?和 EventLoop 啥关系?3.Bootstrap 和 ServerBootstrap 了解么?4.NioEventLoopGroup 默认的构造函数会起多少线程5.Netty 服务端和客户端的启动过程了解么6.Netty 长连接、心跳机制了解么?7.Netty 的零拷贝了解么?答案:百度安全验证...

2022-02-24 11:11:48 148

原创 mybatis sql执行流程

https://www.cnblogs.com/dongying/p/4142476.html

2022-02-23 17:21:56 238

原创 mybatis之分页plugin

一.只能能拦截Executor、ParameterHandler、StatementHandler、ResultSetHandlerExecutor:MyBatis执行器,是MyBatis 调度的核心,负责SQL语句的生成和查询缓存的维护ParameterHandler:负责对用户传递的参数转换成JDBC Statement 所需要的参数StatementHandler:封装了JDBC Statement操作,负责对JDBC statement 的操作,如设置参数、 将Statement结果集转

2022-02-23 16:58:26 285

原创 redission-解锁

解锁

2022-02-23 16:50:01 849

原创 redisson源码-加锁

//获取锁public void lock() { try { //获取锁释放时间为永远不 lock(-1, null, false); } catch (InterruptedException e) { throw new IllegalStateException(); }}// private void lock(long leaseTime, TimeUnit un..

2022-02-23 14:53:52 792

原创 Selector(四)

1.Selector.open() ->SelectorProvider.provider().openSelector()2.

2022-02-23 14:48:38 323

原创 JVM 内存模型

JVM 简述

2022-02-23 10:57:23 456

原创 channel(三)

1.channel既可以读数据又可写数据,流是单向的2.channel也可以异步读写3.channel中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入4.FileChannel 从文件中读写数据 DatagramChannel 能通过UDP读写网络中的数据 SocketChannel 能通过TCP读写网络中的数据 ServerSocketChannel可以监听新进来的TCP连接,像Web服务器那样。对每一个新进来的连接 都会创建一个Sock...

2022-02-13 16:09:20 596

原创 Buffer(二)

1.cap表示最大容量2.pos记录操作(读写)的位置3.lim记录可读可写的数据大小4.buffer.flip() 写模式转为读模式,pos变为0,lim设置成之前pos的值5.buffer.clear()清除buffer所有数据,pos变为0,lim变为cap6.buffer.compact()方法将所有未读的数据拷贝到Buffer起始处。然后将pos设到最后一个未读元素正后面。limit属性依然像clear()方法一样7.Buffer.rewind()将position设回..

2022-02-13 16:03:28 101

原创 IO(一)

IO和NIO基本概念

2022-02-13 15:12:21 215

原创 mybatis的TypeHandlder

1.TypeHandlder mybatis所有TypeHandler继承BaseTypeHandler例:EnumTypeHandler(枚举类型处理)EnumTypeHandler<E extends Enum<E>> extends BaseTypeHandler<E>private final Class<E> type;public EnumTypeHandler(Class<E> type) { if (t

2021-08-25 23:05:58 134

原创 redis命令

安装服务:redis-server.exe --service-install redis.windows.conf --service-name redisserver1 --loglevel verbose启动服务:redis-server.exe --service-start --service-name redisserver1停止服务:redis-server.exe --service-stop --service-name redisserver1卸载服务:redis-ser..

2021-04-19 14:44:44 45

原创 Idea中,git如何合并多次已push的记录?git如何将多次已push的记录回退至某一版本?

背景:这篇文章针对下列4种需求都能ok 1.现在最近4次记录,v1、v2和v3都已经push,v4只commit了! 2.我想将v1~至v4合并成一个记录在提交 (1).那么右击v1之前的一次记录,选择Reset Current Branch To Here... (2).然后选择Soft类型,最后点击Reset按钮 (3).发现v1~v4的提交记录不在日志记录中了 (4).点击提交按钮,发现v1~v4的所有更改都在等着提交(注意TestQuanRan.java文件是V1版本中新

2021-04-01 21:04:02 2551

原创 查看数据库碎片大小

SELECTTABLE_SCHEMA,TABLE_NAME,ENGINE,concat( splinter, ‘G’ ) ‘碎片(G)’FROM(SELECTTABLE_SCHEMA,TABLE_NAME,ENGINE,ROUND(( DATA_LENGTH + INDEX_LENGTH - TABLE_ROWS * AVG_ROW_LENGTH )/ 1024 / 1024 / 1024 ) splinterFROMinformation_schema.TABLESWHERE

2021-02-18 15:49:25 169

原创 搜索当前目录及子目录下关键词的文件

grep -rl --include="*.php" "http://account.ose.aliyun.com/computeRisk"

2020-08-12 15:56:47 222

原创 maven 查看某个jar所依赖的版本

mvn dependency:tree -Dverbose -Dincludes=com.kx.common:kx-common-net

2020-08-06 20:30:03 1489

原创 jvm 查看命令

查看java gc次数:jstat -gcutil pid 100查看java 使用内存:jmap -heap pid查看java 类占用内存大小:jmap -histo pid | head -30(前30个)

2020-07-21 13:45:35 106

原创 idea社区版控制台日志不是和商业版日志颜色一样修改方法

IDEA右上角:Edit Configurations,点击,找到VM options,填入-Dspring.output.ansi.enabled=ALWAYS。重新启动应用,就会发现控制台日志变成彩色了

2020-01-10 15:26:27 1340

原创 Git上传项目提示Push rejected: Push to origin/master was rejected解决办法

1.Idea中可使用Alt+F12 或者切换到自己项目所在的目录,右键选择GIT BASH Here2.在terminl窗口中依次输入命令:git pullgit pull origin mastergit pull origin master --allow-unrelated-histories3.在idea中重新push自己的项目,哈哈哈...

2019-12-10 23:48:02 118

原创 maven pom.xml错误提示 org.apache.maven.archiver.MavenArchiver.getManifest 错误

eclipse 下载(help->install->new software)http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

2019-05-27 16:09:39 341

原创 websocket错误

在tomcat错误显示java.lang.IllegalArgumentException: Async support must be enabled on a servlet and for all filters involved in async request processing. This is done in Java code using the Servlet API o...

2018-09-03 17:17:26 905

原创 mysql too many connections

select VARIABLE_VALUE from information_schema.GLOBAL_VARIABLES where VARIABLE_NAME='MAX_CONNECTIONS';//查看最大连接数量show processlist;//显示当前数据库连接进程set global wait_timeout=100; //设置等待时间100sshow global ...

2018-08-21 15:03:33 81

原创 form表单序列化

$.fn.serializeObject = function(){    var o = {};    var a = this.serializeArray();    $.each(a, function() {        if (o[this.name] !== undefined) {            if (!o[this.name].push) {      ...

2018-08-17 10:19:54 335

原创 Lambda表达式

java.util.function包中是通用性函数接口,它满足一下几种基本的使用。         函数型T -&gt;R,完成参数类型T向结果类型R的转换。核心函数接口Function、operater    判断型T-&gt;boolean,核心函数接口Predicate    消费型T-&gt;void,核心函数接口Consumer供给型void-&gt;T,核心函数接口S...

2018-07-25 16:20:35 123

原创 消息队列介绍

一用消息队列(1)解耦传统模式:传统模式的缺点:系统间耦合性太强,如上图所示,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦!中间件模式:中间件模式的的优点:将消息写入消息队列,需要消息的系统自己从消息队列中订阅,从而系统A不需要做任何修改。(2)异步传统模式:传统模式的缺点:一些非必要的业务逻辑以同步的方式运行,太耗费时间。中间件模式:中间件模式的...

2018-06-11 15:59:33 218

原创 redis创建服务

进入 redis-server.exe所在文件夹在此文件夹中打开cmd窗口输入如下: redis-server.exe --service-install redis.windows.conf --service-name redis --port 8671最后一步,打开控制台,找到 redis服务,右键点击启动...

2018-05-08 15:07:23 1258

原创 修改mysql数据库存储位置datadir及错误1067问题

1.关闭mysql服务2.找到mysql.ini文件3.修改datadir=F:/newdir4.复制C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data\至newdir5.选择属性,选择安全性,为必要的用户设置正确的权限(设置成所有用户“全部允许”)如图...

2018-03-05 14:04:03 799

转载 Java ActiveMQ 理解JMS 和 ActiveMQ基本使用

对于JMS,百度百科,是这样介绍的:JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

2017-08-30 14:05:05 226

opc server模拟器及客户端

此包包含多种opc模拟器及客户端,但java读取模拟器数组有点复杂,注意百度文档。

2018-03-06

tomcat7和8

此文件包含apache-tomcat-8.0.37.zip和apache-tomcat-7.0.59-windows-x64.zip

2018-03-05

memcache软件

用于服务器存储数据,memcache存储,解压直接打开memcached.exe就行了

2017-07-27

空空如也

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

TA关注的人

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