自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021-08-30

Spring启动时DefaultNamespaceHandlerResolver初始化很奇怪啊,构造函数的时候,明明没有初始化handlerMapping那么toString是什么调用的呢???最近在看spring源码 自定义解析标签部分,想到了一个问题,名命空间是如何出初始化的,于是查看源码,进入构造函数,此时,handlerMappings为空,在断点到namespaceHandlerResolver,的时候,发现DefaultNamespaceHandlerResolver对应的hand

2021-08-30 16:02:16 116

原创 限流(单机/分布式)-redis 加锁方式

https://www.cnblogs.com/xrq730/p/11025029.htmlratelimiter特别注意RateLimiter是单机的,也就是说它无法跨JVM使用,设置的1000QPS,那也在单机中保证平均1000QPS的流量集群流控最常见的方法是使用强大的Redis redis限流:setnx:setnx指令,如果成功则返回1,失败则返回0...

2020-04-24 11:47:19 235

原创 论斐波那契函数

最近在看数据结构与算法,其中有关于斐波那契数列使用递归实现的描述,文章里面说n超过40的,性能急剧下降。测试了一波,卡的不行 public static Long fib(Long n) { if (n <= 1) return 1L; return fib(n - 1) + fib(n - 2); }public static void ma...

2020-04-24 11:45:54 190

原创 mysql-InnoDB存储引擎

名词在线事务处理(OLTP online transaction processing):OLTP是传统的关系型数据库的主要应用,主要基本的、日常的事务处理,例如银行交易,OLTP系统强调数据库内存效率,强调内存各种指标命令率,强调绑定变量,强调并发操作在线分析处理(OLAP online Analytical Processing):数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持...

2020-04-24 11:44:03 95

原创 Spring项目中新增log4j日志框架

1:日志级别FATAL 0ERROR 3WARN 4INFO 6DEBUG 7

2020-04-24 11:43:27 86

原创 mysql基础-命令(1)

ps -ef | grep mysqld 查看mysql进程-bash: mysql: command not found解决方案:生成链接指向/usr/bin目录ln -s /mnt/mysql/bin/mysql /usr/binERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tm...

2020-01-02 09:28:11 125

原创 编写一个maven插件,并进行插件测试

最近在学习maven实战,里面有一个章节就是自己实现一个maven插件,在此做下记录创建maven插件项目,有几种办法,我这边使用的是最原始的archetype,1:你想在哪里创建项目就进入到哪里输入mvn archetype:generate输入:maven-archetype-plugin选择2继续输入groupid artifactid等信息确定之后你会发现生成了一个项...

2019-12-26 15:46:43 267 1

原创 maven-nexus

Nexus仓库的类型group 仓库组hosts 宿主virtual 虚拟proxy 代理Maven Central:该仓库代理Maven中央仓库,其策略为Release,因此只会下载和缓存中央仓库中的发布版本构件。 Releases:这是一个策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件。 Snapshots:这是一个策略为Snapshot的宿主类型仓库,...

2019-12-25 16:11:56 68

原创 Maven杂记(命令,裁剪反应堆)

命令mvn help:system。该命令会打印出所有的Java系统属性和环境变量,从命令行输出看到Maven会下载maven-help-plugin,包括pom文件和jar文件。这些文件都被下载到了Maven本地仓库中。首先确认自己无法直接访问公共的Maven中央仓库,直接运行命令ping repo1.maven.org可以检查网络。测试用例编写完毕之后就可以调用Maven执行测试。...

2019-12-24 17:16:07 202

原创 maven scope=import

对于maven,我们经常多使用单继承方式,将父项目中的pom依赖到子项目中父项目:<modelVersion>4.0.0</modelVersion> <groupId>com.shinemo.account</groupId> <artifactId>account-parent</artifactId> &...

2019-12-24 15:27:40 95

原创 maven聚合

聚合的作用仅仅帮助聚合其他模块构建的工具,本身并无实质内容<groupId>com.shinemo.account</groupId><artifactId>account-aggregator</artifactId><version>0.0.1-SNAPSHOT</version> <!--packag...

2019-12-24 10:35:41 94

原创 TortoiseGit配置 ssh

背景每次重装了git和小乌龟之后,都要重装好久,乘着这次装完了还没有忘记,就记录下来,这次出现了好几次错误,但都一一解决了.重点1:小乌龟生成公私钥bin目录下找到puttygen.exe,双击。点击generate,点击之后记得不断移动鼠标,不然生成不了步骤:1:RSA公钥,需要存储起来,记得下拉,这个等会git上会用到。我一般是存到C:\Users\Administrat...

2019-12-20 15:54:11 108

原创 关于jstack检测线程的死锁、等待、cpu耗时

背景最近在项目中碰到一个问题,tomcat怎么都起不来,但是没有报任何的错误,当时请教了师兄,师兄一下就解决的,咨询之后,依赖的外部服务挂掉了,解决方法就jstack,然后看阻塞在哪个线程。所以为了下次不要犯这个错误,这里记录一下jstackjstack是jdk自带的线程堆栈分析工具,使用该命令可以查看或者导出线程的堆栈信息。jstack -l :进程挂起,强制打印堆栈信息,一般情况不...

2019-12-19 11:57:52 404

原创 优惠卷系统的设计

最近公司需要使用优惠卷但是自己没有做过,在网上看了一大堆的文章,有篇比较好的,我这边直接贴个链接https://blog.csdn.net/egworkspace/article/details/80414953在此谢谢大佬的提供,文章里面写的非常详细,优惠卷系统其实是一个非常复杂的营销系统。当然,目前我自己搭建的优惠卷系统还是非常简陋的。上面的文章给了我很大的思考但是由于技...

2019-12-18 10:00:35 114

原创 类加载器深入理解

类加载:在java代码中,类型(class/interface/enum)的加载,连接和初始化都是在程序运行期间完成的,提供了很大的灵活性··类加载器:java虚拟机结束生命周期的几种情况:1:程序正常结束2:调用system.exit退出3:出现异常未捕获而导致的异常退出4:操作系统异常导致的程序结束类加载:加载:查找并加载类的二进制文件到内存...

2019-10-31 23:13:55 86 1

原创 java-线程池的使用,以及思考

java-线程池的使用,以及思考我比较喜欢贴代码,代码里面都写了注释,直接都可以运行的,自己也琢磨了好久,反正这个也是自己学习的一个记录,里面有我自己的一些见解,有不足可以提出我比较喜欢贴代码,代码里面都写了注释,直接都可以运行的,自己也琢磨了好久,反正这个也是自己学习的一个记录,里面有我自己的一些见解,有不足可以提出package com.example.wangyi;import j...

2019-08-01 18:23:44 81

原创 java-thread的互相通讯比较

// suspend/resume对调用顺序有要求,也要开发自己注意锁的释放。这个被弃用的API, 容易死锁,也容易导致永久挂起。//wait/notify要求再同步关键字里面使用,免去了死锁的困扰,但是一定要先调用wait,再调用notify,否则永久等待了//park/unpark没有顺序要求,但是park并不会释放锁,所有再同步代码中使用要注意...

2019-07-31 18:22:46 74

原创 线程状态的扭转

第一种:new-runnable-terminated第二种:新建-运行-等待-运行-终止第三种:新建-运行-阻塞-运行-终止package com;public class ThreadStatusDemo1 { public static void main(String[] args) throws InterruptedException { T...

2019-07-31 12:07:43 226

原创 实战:不同库 SpringAOP 和java反射调用方法进行动态塞值

业务场景:如下表结构, 订单表中:id user_id 用户表中:id name, 当业务需要通过订单号查询出用户的id和姓名,这时候我们可以连表查询,select u.name,u.id,o.id from t_user u,t_order o where o.user_id =u.id ,这时候我们如果架构变了呢? 演变成了微服务架构,商品库和订单库,这个时候,我们该用哪种比较好的...

2019-07-30 10:10:04 247

原创 spring设计模式实现不同会员不同折扣

直接附源码://订单生成类public interface OrderService { public void createOrder();}//订单生成业务类package com.huanwu.sp.salecard.web.controller.ordertest;import org.springframework.beans.factory.annotat...

2019-07-29 10:49:44 275

原创 spring事务的思考

对于spring的事务,我们一般了解到是加上@Tranactional 就能实现事务的管理那么为什么加上了@Tranactional注解就能实现数据库了?1:自己写了一个注解,@MyTranactional2:当一个方法加上了这个MyTranactional注解,那么就进行取消事务自动提交,并且在业务方法前后进行事务的处理和提交回滚操作,解决方案:使用spring的aop切片,业务...

2019-07-28 16:38:24 63

转载 @Tranactional失效原因

spring 在扫描bean的时候会扫描方法上是否包含@Transactional注解,如果包含,spring会为这个bean动态地生成一个子类(即代理类,proxy),代理类是继承原来那个bean的。此时,当这个有注解的方法被调用的时候,实际上是由代理类来调用的,代理类在调用之前就会启动transaction。然而,如果这个有注解的方法是被同一个类中的其他方法调用的,那么该方法的调用并没有通过代...

2019-07-28 13:49:38 640

原创 自己手写一个线程池

线程池原理(底下附源码):仓库:接收任务,卡车:工作线程,从仓库中取任务当没有任务的时候,工作线程阻塞,当有任务的时候,唤醒工作线程执行仓库可以使用blockQueue表示这些上面是在wangyiyun上面听的课程线程池,就是一个放任务线程的地方。工作线程会不断的从线程池中取任务,手写线程池:...

2019-07-26 10:27:25 109

原创 spring源码思考--自己实现一个spring框架的思考过程

思路推导的过程最重要目标结果导向spring的认知以及疑惑,1:为什么对象不需要自己创建2:为什么通过注解可以注入DI/IOC3:controller是怎么被触发的一句话:计算机是科学 意味着可以被推到和验证1:要加载读取xml文件?(配置信息写在xml里面)2:spring会自动创建对象,(java一切皆是对象)3:应该有一个注入的功能,4:请求肯定是从d...

2019-07-20 15:17:33 121

原创 分布式锁原理与实现

为什么需要分布式锁?场景:唯一订单编号如果同一时刻很多人下单,并发请求,此处订单号是否能否唯一?模拟:加锁lock(但是影响效率)如果单台服务器无法撑起并发量 怎么办?1:集群如何做到订单号唯一1:将订单编号生成独立共享的服务此时订单号会唯一吗?1:还是会重复,为什么?加锁了吗?1:是不是同一把锁,虽然有锁,但是tomcat使用的...

2019-07-19 21:32:41 51

原创 java不规则地址解析

java不规则地址解析最近公司有个业务,说是要根据不规则的地址进行识别到地址的省市区出来,搞得我头发掉了一地,还好最终写出来了,能识别公司业务地址中的90%,就算成功,目前测试了一下,100条有2-3条识别不出,也还行吧,提供地址的时候,最好实现约定,让业务人员提供的地址上面包含省市区。最近公司有个业务,说是要根据不规则的地址进行识别到地址的省市区出来,搞得我头发掉了一地,还好最终写出来了,能识...

2019-07-16 19:34:19 428

原创 final总结

final修饰变量成员变量类变量(static修饰的变量)赋初值:声明变量的时候直接赋初值 静态代码块中赋初值实例变量赋初值:声明变量的时候给实例变量赋初值 非静态初始化块中赋初值 构造器中赋初值局部变量赋初值:显式初始化,已经进行了初始化则后面就不能再次进行更改,如果final变量未进行初始化,可以进行赋值,当且仅有一次赋值,一旦赋值之后再次赋值就...

2019-01-17 12:44:04 105

原创 synchornized原理

最近在学习synchornized的关键字的讲解。发现了有很多不懂的地方,随即在网上看了很多的文章,其中比较好的有https://blog.csdn.net/javazejian/article/details/72828483https://www.cnblogs.com/paddix/p/5367116.htmlhttps://www.jianshu.com/p/78be70fad9a9这几...

2019-01-14 10:46:30 438

原创 window系统安装

最近总有朋友叫我帮忙装电脑,这里就把可能需要的东西列举一下http://msdn.itellyou.cn/ 下载系统的https://jingyan.baidu.com/article/19192ad85aa445e53e5707c2.html 这个是教你怎么做系统盘的ultraiso用这个工具做系统盘http://m.xitongcheng.com/jiaocheng/xtazjc...

2019-01-12 15:28:56 132

原创 Thread中的interrupt(),isInterrupted(),interrupted();

interrupt()源码:public void interrupt() {        if (this != Thread.currentThread())            checkAccess(); //判断此线程是否为当前线程,不等于,则进行检查,此处有可能抛出SecurityException异常。        synchronized (blockerLock...

2019-01-12 14:20:43 120

原创 Spring项目中新增log4j日志框架

1:日志级别FATAL 0ERROR 3WARN 4INFO 6DEBUG 7

2018-05-08 15:42:35 135

原创 springmvc整合mybatis(接上一篇)

新增jdbc.properties文件jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://127.0.0.1:3306/bigdatajdbc.username=rootjdbc.password=oracle#初始化连接 jdbc.initialSize=10#最大空闲连接  jdbc.maxIdle=20#最小空闲连接  jdbc.mi...

2018-05-08 15:37:49 111

原创 问题总结

杂-问题总结 mysql问题专栏 自己在linux虚拟机上搭建了一个mysql,发现远程window使用 mysql-front 死活连接不上, 试过通过赋权限grant all privileges on *.* to 'root'@'%' identified by 'oracle'; flush privileges; but 并没有用。。 最后。。...

2018-04-26 17:10:14 125

原创 后台服务nosql数据库mongodb:高可用讲解以及安装

后台服务nosql数据库mongodb:高可用讲解以及安装一、架构介绍mongodb有几种部署方式,这里采用的是副本集架构(Replica Set)。为了防止单点故障就需要引副本(Replication),当发生硬件故障或者其它原因造成的宕机时,可以使用副本进行恢复,最好能够自动的故障转移(failover)。有时引入副本是为了读写分离,将读的请求分流到副本上,减轻主(Primary)的读压力。而...

2018-04-10 15:29:55 168

原创 springmvc基础搭建

搭建了数次的springmvc框架了但是每次重新搭建都要花费很多的时间这次决心要记录下来是为了提高效率后续会不断的在此基础上不断的更新文章,此次用到的有maven jdk8点击右键新增maven-project,选择webapp项目右键点击properties java build path 将maven和jre选中确定...

2018-04-10 15:22:01 135

原创 最简单的Rpc框架的实现

代码什么的,可以发个链接:http://www.cnblogs.com/ChrisMurphy/p/6550184.html上面链接所用到的技术:java原生序列化,socket通信,动态代理,反射机制。平时用到接触的都很少,每次用过之后就忘记,所以要想真正的达到拿来就用的境界那就:#刻意练习#吧 下面介绍。。写不动。。。 就写写自己的理解:主要的角色有一下几种:服务提供者: 运行在服

2017-03-18 15:40:48 402

原创 Servlet

1:Servlet:服务器端小应用程序它运行在servlet容器中,它是由服务器直接解析运行 2: 怎样创建一个servlet,1:通过查看示例,发现servlet在创建的时候需要继承HttpServlet2:需要重写doGet和doPost测试 在tomcat的wabapps文件夹下手动创建一个web项目: 目录结构如下: HelloWorldDemo

2016-12-13 23:09:48 222

原创 AJAX

Ajax什么是ajax? async javascript and xml1:使用XHTML和CSS的基于标准的表示技术2:使用DOM进行动态显示和交互3:使用XML和XSLT进行数据交互和处理(JSON)4:使用XMLHttpRequest进行异步数据检索5:使用JavaScript将以上技术融合在一起思维方式技术核心应用实例优缺点

2016-12-13 22:31:43 211

原创 设计模式(单例模式,工厂模式,适配器模式)

1:设计模式是什么? 前人总结的一些经验和思想,给我们提供了从抽象到具体的方法总共有23种 分类: 创建型模式: 创建对象。(其实创建对象比较耗内存的动作) 结构型模式: 对象的组成。 行为模式: 对象能够做什么。 工厂模式: 通过一个工厂类来帮我们创建对象 单例模式: 要求:类在内存中的对象只

2016-12-07 21:40:24 1438

原创 JAVA线程(补充)

线程优先级package com.thread.priority;/** * 线程优先级:每个线程都有一个优先级,高优先级的线程执行优先于低优先级线程 * 默认优先级:5 * 范围:1-10 * 这个只有在次数特别多的情况下,效果才可能比较明显 * * public final int getPriority() 返回线程的优先级。 * public final void setP

2016-12-06 21:57:04 266

空空如也

空空如也

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

TA关注的人

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