自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hello什么来着?

厚积薄发

  • 博客(160)
  • 资源 (4)
  • 收藏
  • 关注

原创 数据库连接池为什么要用threadlocal呢?(不用会怎样?)

这个问题我疑问了很久很久,主要如下截图。我先说为什么引入threadlocal,其实是为了解决数据库事务,而事务是和连接有关的,每个连接对应一个事务,多个连接的事务是不一样的,先大概了解一下,往下看????本人是在学threadlocal的时候,网上大部分人都是说数据库连接池是典型的用了threadloca的例子,然后我就又查数据库连接池和threadloca的关系,但是,99%都说threadlocal是为了在并发的情况下,为了保证线程安全,创建了副本什么的,其实这只是threadlocal的用法之

2020-08-27 14:48:34 3599 19

原创 更新操作先删除缓存后更新DB,还是先更新DB后删除缓存问题???

以前自己在学校学习redis的时候还真没想到这么多,上班后看公司的项目代码,发现都是先更新DB,然后删除缓存,而且更新DB后不会立马将DB数据放入缓存,然而我以前不管是查询还是update都是操作完DB后立马放入缓存。。。扯远了,回到重点,为什么先更新DB后删除缓存呢?听我慢慢道来~问题场景:当数据出现变化的时候,DB和redis的一致性就显得非常重要!并发的情况下,主要是看场景,和代价,进行选择。目前主要有两种策略:先删除缓存后更新DB(用的少,容易产生大量的脏数据)结论:容易产生脏数据(

2020-07-29 18:53:06 3254 2

转载 关于主键和外键那些事

问题一 主外键和索引的区别引用别人的一篇博客,写的可以。https://blog.csdn.net/weirdowang/article/details/83181346?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogComme

2020-07-17 19:08:21 354

原创 springboot中的日志使用

SpringBoot中的日志设计springboot框架在企业中的使用越来越普遍,springboot日志也是开发中常用的日志系统。springboot默认就是使用SLF4J作为日志门面,logback作为日志实现来记录日志。springboot中的日志<dependency><artifactId>spring-boot-starter-logging</artifactId><groupId>org.springframework.boot&lt

2020-05-09 21:53:22 649

原创 Java日志技术之由浅入深(下)

文章目录日志技术 (下)0. 学习目标1. 日志门面2. SLF4J的使用2.1 SLF4J入门2.2 绑定日志的实现(Binding)2.3 桥接旧的日志框架(Bridging)2.4 SLF4J原理解析3. Logback的使用3.1 logback入门3.2 logback配置**1. logback组件之间的关系****2. 基本配置信息****3. FileAppender配置****4. RollingFileAppender配置**5. Filter和异步日志配置日志技术 (下)0. 学习

2020-05-09 21:27:00 451

原创 Java日志技术之由浅入深(上)

文章目录java日志学习(上)0. 学习目标1. 日志的概念1.1 日志文件1.1.1 调试日志1.1.2 系统日志2. JAVA日志框架2.1 为什么要用日志框架2.2 现有的日志框架3. JUL 学习3.1 JUL入门3.1.1 架构介绍3.1.2 入门案例3.2 日志的级别3.3 Logger之间的父子关系3.4 日志的配置文件3.5 日志原理解析4. LOG4J 学习4.1 Log4j入门4.2 Log4j组件4.2.1 Loggers4.2.2 Appenders4.2.3 Layouts4.3

2020-05-09 19:56:36 539

原创 git小白学习路线(有点长。。。更新中)

常用撤销(3种)use “git reset HEAD …” to unstage:取消暂存(包括删除操作)的文件(一般在暂存区时候用)由暂存区回到工作区后,执行checkout当执行 "git reset HEAD" 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。git checkout – …" to discard changes in working directory:撤消对文件的修改(一般在工作区用)以前暂存过一次或者没.

2020-05-09 19:01:34 1050

原创 别乱翻了,看这!Get https://index.docker.io/v1/search?q=tomcat&n=25: net/http: TLS handshake timeout,

vim /etc/resolv.conf加上如下:nameserver 8.8.8.8nameserver 114.114.114.114vim /etc/sysconfig/network-scripts/ifcfg-ens33添加DNS1=8.8.8.8DNS2=114.114.114.114systemctl restart networksystemct...

2020-04-21 20:01:03 2286 4

原创 cookie跨域工具类

import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;...

2020-04-11 15:55:54 207

原创 fastdfs安装配置,手把手配置,一定要细心!!!!

运行流程前言关闭防火墙,如果觉得不安全,就开放fashdfs的22122端口和23000端口以及nginx的80端口,免得后面安装的时候出问题。安装顺序1 libfastcommon2 fdfs_tracker依赖:Gcc、libevent、perl3 fdfs_storage4 FastDFS-nginx-module5 nginx依赖:pcre-devel、zlib-...

2020-04-01 15:30:46 2202

原创 fastdfs报错ERROR - file: tracker_client_thread.c, line: 1120, tracker server 39.xx.143.171:22122, recv

昨天在阿里云上搭建了阿里的fastdfs服务器,前面安装的时候都好好的,结果最后测试上传文件的时候,连报好几个错误。tracker_service.c, line: 611, client ip: 39.99.143.171, group_name: group1, storage server: 172.x6.115.249 not existERROR - file: tracker_p...

2020-04-01 15:01:45 5447 1

原创 mybatis事务管理机制

源码https://www.jianshu.com/p/46c41f2c16a0https://blog.csdn.net/u013967175/article/details/78192279https://www.cnblogs.com/kaleidoscope/p/9707263.html

2020-02-16 20:40:40 144

原创 关于内部类

关于接口配合匿名内部类https://www.cnblogs.com/fengli9998/p/9766391.html

2020-01-14 16:59:44 124

原创 java程序员看什么书籍比较好?(小白升级路线)

最近秋招完之后想静下心好好沉淀下java的知识,因为总是感觉有好多基础知识总是掌握的不太熟,然后就开始看以前买来的书籍,作为一个已经学习了两年java的初级程序员,在学习的过程中真的是走了好多弯路,个人感觉学习java或者说是任何的编程语言,入门到熟练的最快捷径就是多看书,看好书,当然这些书籍要有相应的阅读路线,如果刚开始就看比较有深度的书籍,自信心受到打击,那学习的欲望可能就会不强,所以我推荐...

2019-12-16 19:24:29 908 1

原创 什么是多态?

用一句话概括就是:事物在运行过程中存在不同的状态。先以教科书般举例说明,下文再举一个花木兰替父从军的例子帮助大家理解. 多态的存在有三个前提:要有继承关系子类要重写父类的方法父类引用指向子类对象但是其中又有很多细节需要注意。首先我们定义两个类,一个父类Animal,一个子类Cat。父类Animalclass Animal { int num = 10; static i...

2019-12-09 23:14:03 255

原创 AbstractRoutingDataSource动态数据源切换,AOP实现动态数据源切换(配置mysql主从复制)

https://blog.csdn.net/u012881904/article/details/77449710

2019-12-09 20:50:01 467

原创 106. 从中序与后序遍历序列构造二叉树

首先要知道一个结论,前序/后序+中序序列可以唯一确定一棵二叉树,所以自然而然可以用来建树。看一下中序和后序有什么特点,中序[9,3,15,20,7] ,后序[9,15,7,20,3];有如下特征:代码如下class Solution {public: TreeNode* buildTree(vector<int>& inorder, vector<in...

2019-09-12 21:12:34 128

原创 105. 从前序与中序遍历序列构造二叉树

首先要知道一个结论,前序/后序+中序序列可以唯一确定一棵二叉树,所以自然而然可以用来建树。看一下前序和中序有什么特点,前序1,2,4,7,3,5,6,8 ,中序4,7,2,1,5,3,8,6;有如下特征:代码如下class Solution {public: TreeNode* buildTree(vector<int>& preorder, vector&...

2019-09-12 18:51:18 196

原创 面向对象的6大准则

最基本的设计原则有6条,分别是:单一职责原则、开放封闭原则、依赖倒置原则、接口隔离原则、合成复用原则和Liskov替换原则。单一职责原则对于单一职责原则,其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互...

2019-09-08 10:36:06 1252

原创 Java中的NIO(non-blocking I/O),BIO (blocking I/O),AIO(NIO.2) (Asynchronous I/O)

大白话例子同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写)。异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时,Java将IO读写委托给OS处理,需要将数据缓冲区地址和大小传给OS(银行卡和密码),OS需要支持异步IO操作API)。阻塞 : ATM排队取款,你只能等待(使用阻塞IO时,Java调用会一直阻塞到读写完成才返回)。非阻塞 : 柜...

2019-09-08 10:18:25 192

原创 大白话搞懂什么是同步/异步/阻塞/非阻塞

阻塞阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回。有人也许会把阻塞调用和同步调用等同起来,实际上它们是不同的。对于同步调用来说,很多时候当前线程还是激活的,只是从逻辑上当前函数没有返回而已。例如,我们在CSocket中调用Receive函数,如果缓冲区中没有数据,这个函数就会一直等待,直到有数据才返回。而此时,当前线程还会继续处理各种各样的消息。如果主窗口和调用...

2019-09-08 09:56:06 1810 9

原创 MySQL中limit分页公式

一、limit分页公式(1)limit分页公式:curPage是当前第几页;pageSize是一页多少条记录limit (curPage-1)*pageSize,pageSize(2)用的地方:sql语句中select * from student limit(curPage-1)*pageSize,pageSize;二、 总页数公式(1)总页数公式:totalRecord是总...

2019-09-05 17:24:33 3841 1

原创 Mysql 多表查询

https://blog.csdn.net/u014044812/article/details/51004754

2019-09-05 16:59:51 111

原创 spring单元测试Caused by: java.io.FileNotFoundException: class path resource [spring/spring-dao.xml]解决方案

这是我的文件路径第一步:如果你的文件路径是和我上面一样的话,并且在web.xml中也配置了如下的代码,重点是初始化参数中parm-value<servlet> <servlet-name>spring-dispatcher</servlet-name> <servlet-class>org.springframework.web.ser...

2019-08-30 17:29:41 7632

原创 数据库主从复制

原理图概念MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。用途:读写分离:在开发工作中,有时候会遇见某个sql 语句需要锁表,导致暂时不能使用读的服务,这样就会影...

2019-08-30 11:06:28 385

原创 静态代理以及JDK动态代理和CGLB动态代理的实现

主业务接口类package 静态代理;public interface Service { //主业务接口 public String test();}目标类(代理要增强的主业务接口实现类)public class ServiceImpl implements Service {//目标类,代理类要增强的类。 @Override public String test(...

2019-08-29 10:51:45 439

原创 leetcode203 移除链表元素递归实现

题目链接https://leetcode-cn.com/problems/remove-linked-list-elements/submissions//** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode...

2019-08-28 00:37:16 201

原创 leetcode2:两数相加

题目链接https://leetcode-cn.com/problems/add-two-numbers//** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * ...

2019-08-23 08:35:27 110

原创 反转链表递归实现

class Solution { public ListNode reverseList(ListNode head) { if(head==null||head.next==null){ return head; } ListNode node=reverseList(head.next); head.next....

2019-08-23 08:23:42 270

原创 用队列实现栈

class MyStack {private Queue<Integer> a;// 输入队列 private Queue<Integer> b;// 输出队列 /** Initialize your data structure here. */ public MyStack() { a=new LinkedList<&gt...

2019-08-22 23:22:09 90

原创 用栈实现队列

class MyQueue { private Stack<Integer> a;// 输入栈 private Stack<Integer> b;// 输出栈 public MyQueue() { a=new Stack<>(); b=new Stack<>(); } /** P...

2019-08-22 23:12:04 87

原创 leetcode:347. 前 K 个高频元素

import java.util.LinkedList;import java.util.List;import java.util.TreeMap;class Solution { private class Freq implements Comparable<Freq> { int num;// 数的值 int freq;// 数的次数 public ...

2019-08-21 22:14:06 91

原创 leetcode:929. 独特的电子邮件地址

题目地址:https://leetcode-cn.com/problems/unique-email-addresses/public int numUniqueEmails(String[] emails) { Set set = new HashSet<>(); for (String s : emails) { int i = s.indexOf('@'); ...

2019-08-21 22:07:14 249

原创 线程的六种状态

当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,有几种状态呢?在API中 java.lang.Thread.State 这个枚举中给出了六种线程状态:这里先列出各个线程状态发生的条件,下面将会对每种状态进行详细解析我们不需要去研究这几种状态的实现原理,我们只需知道在做线程操作中存在这样的状态。那我们怎么去理解这几个状态呢,新建与被终止还是...

2019-08-16 18:24:35 596

原创 Java中如何正确的停掉一个线程

使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。当run方法执行完后,线程就会退出。但有时run方法是永远不会结束的。如在服务端程序中使用线程进行监听客户端请求,或是其他的需要循环处理的任务。 在这种情况下,一般是将这些任务放在一个循环中,如while循环。如果想让循环永远运行下去,可以使用while(true){……}来处理。但要想使 while循环在某一特定条件下退出,最...

2019-08-16 16:59:26 269

原创 Thread中interrupted()方法和isInterrupted()方法区别总结

https://blog.csdn.net/zhuyong7/article/details/80852884

2019-08-16 16:56:59 138

原创 synchronized和lock以及synchronized和volatile的区别

synchronized和volatile区别synochronizd和volatile关键字区别:volatile关键字解决的是变量在多个线程之间的可见性;而sychronized关键字解决的是多个线程之间访问共享资源的同步性。volatile只能用于修饰变量,而synchronized可以修饰方法,以及代码块。(volatile是线程同步的轻量级实现,所以volatile性能比sync...

2019-08-16 15:32:16 754

原创 阿里凉经

1.自我介绍2.C++容器的使用场景和底层3.泛型编程(模板如何是不同对象传入的时候产生的结果是不一样的)4.四次挥手的过程以及状态的改变5.链表是否有环6.二叉树的遍历和使用栈和队列进行遍历分别是广度还是深度?7.继承和多继承,多态的底层实现8.数据库的索引底层B+树9.数据库的事务。没有事务会引发什么问题(举例子,读数据和写数据会发生什么错误)10.中途问了问redis11...

2019-08-16 11:40:16 184

原创 leetcode:买卖股票的最佳时机III

class Solution { public int maxProfit(int[] prices) { int len=prices.length; if(len<2){ return 0; } //每天有四种状态 int b1=0-prices[0];//第一次买后的剩下钱...

2019-08-13 12:22:43 135

原创 Java技术——你真的了解String类的intern()方法吗

本来想着自己写呢,但是网上看到大神的一篇博客,有点小6。https://blog.csdn.net/SEU_Calvin/article/details/52291082

2019-08-12 13:19:50 107

lombok.jar-1.18.0红辣椒代码生成工具

Lombok是一款小巧的代码生成工具。官方网址:http://projectlombok.org/ LomBok主要特性有:自动生成默认的getter/setter方法、自动化的资源管理(通过@Cleanup注解)及注解驱动的异常处理等。目前在国外广泛应用。

2019-05-07

数据库课设学生宿舍管理系统源码java spring mysql

数据库课设学生宿舍管理系统源码,直接将项目拖入eclipse就可以用,有视频教程。

2019-01-03

数据库课设源码订餐系统java spring+mysql

数据库课设订餐系统,java spring mysql,直接把项目拖入到eclipse中就可以用,有视频教程。

2019-01-03

数据库课设进销商品系统源码带视频教程

java swing mysql实现的进销系统项目,直接将项目拖入eclipse直接用,有视频教程。

2019-01-03

空空如也

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

TA关注的人

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