自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL语句优化大全

一、定位慢查询:必要指令:show status like ‘uptime’;当前数据库运行多久show session或global status like ‘com_select’;当前数据库运行多少次查询show session或global status like ‘com_update’;当前数据库运行多少次更新show session或global status like ‘...

2018-11-09 20:14:19 12193 2

原创 shell脚本指令和注意事项(个人踩坑记录)

1.开启日志追踪set -xe  -x为开启脚本执行情况追踪;-e表示若指令传回值不等于0,则立即退出shell,通常用于避免某些指令的执行,遇到shell突然退出的情况可以先查看是否有这个指令。2.监测tomcat运行状态$(ps -ef |grep -w $tomcat_path|grep -v 'grep'|awk '{print $2}')ps 查看运行进程 -e 表示查看所有...

2019-05-19 10:24:21 318

原创 DTO(领域数据传输对象)之我见

一、DTO的产生及优点最初,我们设计程序的时候直接创建实体类,然后再创建一个封装返回值的jsonObject类,进行业务处理的时候直接利用实体类传递数据,然后封装在jsonObject类里面返回,这样的话就存在以下几个问题:(1)暴露数据库表结构如果黑客通过前端的json对象解析出来了你的表结构,然后就可以结合表结构和请求命令模拟发送攻击请求窃取你的信息。(2)后台处理僵硬比方说我要根据...

2018-12-14 20:47:21 1845

原创 volatile关键字的一些个人见解(持续更新,初版)

一、线程的通信方式在JMM中,每个线程都有自己的工作内存、总线上又有一个主内存(共享内存)。假设线程A要对对象object进行操作,那么首先会将object对象从主内存里读取到工作内存,在工作内存中进行修改,修改完成后再同步到主内存,这样其他线程就可以通过主内存读取到线程A对对象的修改。但是这种工作模式存在一个问题,就是如果线程A在工作内存中对object对象进行了修改,但是还没有将其同步到主内...

2018-12-01 19:40:18 212

转载 四大线程池特点介绍和适用场景

在日常应用开发中,经常会有一些耗时操作,比如数据库操作、网络请求等,碰见这种情况,我们一般会怎么做呢?当然第一反应就是放到子线程去异步处理,张手就一个new Thread().start就来了,这样的操作在线程少的情况下是没问题的,也能实现功能,但这样久之会造成严重的性能损耗,有的同学就会问为什么?我告诉你为什么,原因如下:一、JAVA线程机制是抢占性质的,new Thread出来的匿名线程非常...

2018-11-11 16:26:05 5362

原创 面试题及答案总结(实时更新)

一、Mybatis中DAO接口的实现机制答:首先Mybatis会加载配置文件,根据配置文件生成sqlsessionFactory工厂,通过工厂获取sqlsession动态代理对象,将DAO接口交给sqlsession这个动态代理对象,它就会通过invoke方法进行加载mapper、拼接sql、建立preparestream、执行sql等一系列操作实现对数据库的操作。二、prototype的应用...

2018-11-10 17:13:08 361 1

原创 多线程基本概念大全

线程安全产生的原因:多个线程对同一个对象中的同一个实例变量进行操作时会出现值被更改,值不同步的情况,进而影响程序的执行流程。它包括原子性和可见性两个方面...

2018-11-10 11:28:01 256

原创 WebSocket实现前台实时显示数据库数据

业务逻辑:在浏览器和服务器之间建立WebSocket双工连接,启动一个线程,设置私有变量数据修改时间,循环读取数据库实时表中某个传感器的数据修改时间,与私有变量进行对比,如果相同则不做任何改动,若不同,则把查询到的时间赋值给私有变量,同时向浏览器发送推送消息,前端通过ajax发送请求更新数据。添加依赖:用之前 需查询依赖版本是否与spring版本兼容WebSocket依赖: <de...

2018-11-09 14:01:52 18037 10

原创 Spring整合Redis集群

redis集群测试代码:@Test public void testCluster(){ Set<HostAndPort> nodes = new HashSet<>(); nodes.add(new HostAndPort("192.168.126.166",7000)); nodes.add(new HostAndPort("192.168.126

2018-11-09 09:48:43 409

原创 参数乱码问题解决大全

请求参数乱码问题问题描述: 在通过request对象获取请求参数时, 如果参数中有中文数据, 在获取时就会出现乱码, 其原因是由于浏览器发送参数时(编码时)使用的码表 和 服务器在结束数据时(解码时)使用的码表不一致造成的!(1)浏览器发送数据时使用的码表: 浏览器在发送数据时使用的码表取决于打开页面时使用的码表, 即浏览器使用什么编码打开页面, 就会使用相同的编码来发送数据. 这里使用的是u...

2018-11-09 09:48:13 1291

原创 MySQL数据库错误集锦(1):Can't connect to MySQL server on localhost (10061)

问题描述:在命令行输入 mysql -u root -p 登录mysql,返回”Can’t connect to MySQL server on localhost (10061)”错误。解决方法:1、将mysql加入到Windows的服务中。切换到mysql安装目录下的bin文件夹,命令行运行"mysqld --install",如果报错,则使用管理员账号执行此命令。C:\Progra...

2018-11-08 19:50:54 372

转载 centos 7 linux系统默认ftp安装配置和部署(详细讲解)

转载自:https://www.cnblogs.com/mujingyu/p/7677273.html小生接触 Linux 系统时间不长,想解决linux系统ftp安装及部署问题,折腾了大半天,终于弄出来了,将各路高手的配置方法综合了一下,如有不对之处,欢迎各位看客指正,感谢!一、声明:本文采用操作系统版本: Centos 7 Linux系统    版本源:CentOS-7-x86_64...

2018-11-07 20:10:27 179

原创 Socket编程:本地通信demo

服务器创建:package server;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;import java.net.UnknownHostException;...

2018-11-07 18:38:13 749

原创 单例设计模式简介及测试

测试思路:用十个线程测试一下,核心思想是用线程获取对象的哈希值,如果一致证明线程安全,反之线程不安全。代码如下:package single;public class TestSingle { public static void main(String[] args) { ThreadTest[] ThreadArr = new ThreadTest[10];//创建线程数组...

2018-11-05 19:03:51 161

原创 HTTP常见状态码和调错方法

**200 Ok:**客户端请求成功**400 Bad Request:**参数类型不匹配;解决步骤:1)查看前端发送的数据类型、字段名及请求方法2)查看后端接收数据的方式是否和前端匹配3)查看字段名是否一致4)查看数据类型是否一致**401 Unauthorized:**请求未经授权401错误代码提示通常有以下三种类型:  1、HTTP错误401.1-未经授权:访问由于凭据无效...

2018-11-04 10:23:28 315

原创 三大集合介绍

Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap

2018-11-04 08:14:56 461

原创 Java中java.util.Comparator接口简介

概念:java.util.Comparator接口为一个比较器接口,它提供了一个自定义比较规则的方法,可以根据需要对不支持比较的对象按自己的逻辑进行排序,一般与Collections.sort()方法一起使用。应用场景:为字符串、对象等无法直接比较大小排序的对象提供比较逻辑,进而实现排序。案例代码:List<String> list = new ArrayList&

2018-11-03 21:13:46 6502

原创 JVM内存模型

方法区(Method Area)方法区主要是放一下类似类定义、常量、编译后的代码、静态变量等,在JDK1.7中,HotSpot VM的实现就是将其放在永久代中,这样的好处就是可以直接使用堆中的GC算法来进行管理,但坏处就是经常会出现内存溢出,即PermGen Space异常,所以在JDK1.8中,HotSpot VM取消了永久代,用元空间取而代之,元空间直接使用本地内存,理论上电脑有多少内存它就...

2018-10-31 16:15:02 126

转载 【深入理解JVM】:垃圾收集算法

垃圾收集算法主要有以下几种:标记-清除算法(mark-sweep)、复制算法(copying)和标记-整理算法(mark-compact)。标记-清除算法:算法的执行过程与名字一样,先标记所有需要回收的对象,在标记完成后统一回收所有被标记的对象。该算法有两个问题:标记和清除过程效率不高。主要由于垃圾收集器需要从GC Roots根对象中遍历所有可达的对象(个人理解可达对象就是存在被引用的对象)...

2018-10-31 15:22:54 83

原创 JAVA GC 分代

概念:Java GC:garbage collec,垃圾收集,回收GC是对JVM中的内存进行标记和回收,Sun公司的JDK用的虚拟机都是HotSpot,对象化的实例是放在heap堆内存中的,这里讲的分代收集也是指对堆内存的回收。vm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、SurvivorSpace(幸存者区)、Tenured Gen(老年...

2018-10-31 09:05:04 313

转载 JVM调优总结(这个总结得比较全面)

堆大小设置:JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3550m ...

2018-10-30 22:00:37 115

原创 切面编程要点研究

术语:切面(aspect): 横切面对象,一般为一个具体类对象(可以借助@Aspect声明)连接点(joinpoint):程序执行过程中某个特定的点,一般指被拦截到的的方法切入点(pointcut):对连接点拦截内容的一种定义,一般可以理解为多个连接点的结合.通知(Advice):在切面的某个特定连接点上执行的动作(扩展功能),例如around,before,after等底层:1)假如...

2018-10-30 21:30:14 221

原创 HashMap简介

1.概念HashMap又叫哈希表、散列表,是一种以键值对方式存储数据的数据结构,它利用不重复、无序的键实现了快速查找。2.哈希模型l 有若干哈希桶,每个桶有一个哈希值l 放入的数据,先获得数据的哈希值,放入对应的哈希桶l 相同哈希值的数据,会被放入同一个哈希桶3.内部算法HashMap采用数组存放数据,数组的初始长度为16。其数据存放顺序如下:(1)计算键的哈希值,并使用此哈...

2018-10-30 09:28:15 595

原创 Spring中工厂模式简介

工厂模式作用:核心思想:实例化对象需求:1.多例对象的创建2.有些对象 例如接口/抽象类不能直接实例化 接口–代理 抽象类–创建子类3.需要对对象进行二次封装静态工厂:说明: 静态工厂必须有静态方法。调用方式:类名.静态方法例:(1)建立工厂类package com.jt.manage.factory;import java.util.Calendar;pub...

2018-10-30 09:27:19 6198

原创 浅谈redis中哈希一致性

Redis保存数据的方法:(1)将内存想象成一个环,由于hash值有32位,因此将内存分出2 ^32(0~2 ^32-1)个地址(2)将节点的IP+算法确定唯一的哈希值,之后在内存中确定节点的位置(3)当保存数据时,根据key进行哈希运算,确定唯一的一个位置(4)根据当前key位置顺时针查找最近的node节点进行挂载(在内存中,加法计算快于减法运算,因此采用顺时针查找)均衡性:说明:...

2018-10-30 09:26:49 3841

转载 MySQL的四种事务隔离级别

一、事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。   2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B...

2018-10-30 09:20:17 110

转载 怎么把自己的代码传到github上

版权声明:欢迎转载(ω)~不过转载请注明原文出处:http://blog.csdn.net/catglory ლ(╹◡╹ლ) https://blog.csdn.net/CatGlory/article/details/50444046写在前面:弄了两小时终于搞定了,把经验整理下,方便我以后上传代码XD。本篇主要是描述在windows下如何进行代码上传的。一、注册账号,新建仓库首先上www...

2018-10-29 10:42:33 159

原创 消息队列五种模式介绍

简单模式Hello World功能:一个生产者P发送消息到队列Q,一个消费者C接收工作队列模式Work Queue功能:一个生产者,多个消费者,每个消费者获取到的消息唯一,多个消费者只有一个队列任务队列:避免立即做一个资源密集型任务,必须等待它完成,而是把这个任务安排到稍后再做。我们将任务封装为消息并将其发送给队列。后台运行的工作进程将弹出任务并最终执行作业。当有多个worker同时运行...

2018-10-28 20:06:33 7447

转载 InvocationHandler和Proxy(Class)的动态代理机制详解

在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。在java的动态代理机制中,有两个重要的类或接口,...

2018-10-25 08:55:09 151

转载 TCP协议中的三次握手和四次挥手(图解)

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。【更新于2017.01.04 】该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对比理解效果更好。这么久才来更新,抱歉!!错误配图如下:首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接...

2018-10-22 08:54:00 114 1

原创 Post请求和Get请求的区别

Get请求:1.主要用于获取浏览器资源;2.通过URL拼串的方式传递数据,在后端控制器接收时可以使用restful风格编码获取URL上的属性值;3.传递的参数和值在URL上用?name=value&name=value的形式显示在浏览器上显示,信息不安全;4.发送的数据量有限制,效率较高;5.Get请求只支持ASCII编码集;Post请求:1.主要用于向服务器发送数据;2....

2018-10-20 17:01:23 103

转载 pycharm激活2018(终极解决办法)

因为我的是Windows,所以这篇文章只针对Windows系统。1、将“0.0.0.0 account.jetbrains.com”中的内容添加到hosts文件中,hosts路径为:C:\Windows\System32\drivers\etc2、打开http://idea.lanyus.com/ ,点击激活,获得并复制注册码。3、打开pycharm,选择 第二个选项:Activate...

2018-10-20 10:12:46 2997

原创 浅谈AOF模式和RDB模式

AOF模式:把写操作指令,持续的写到一个类似日志文件里(appendonly.aof)。(类似于从postgresql等数据库导出sql一样,只记录写操作),粒度较小,crash之后,只有crash之前没有来得及做日志的操作没办法恢复。优先级比RDB模式要高,开启后RDB模式不生效。AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中...

2018-10-16 14:11:09 6413

原创 JSON格式介绍

三大分类:1.object格式(简单格式)对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。例子:{“id”:“1”,“name”:“飘香白咖”,“age”:“18”}简单写法:key和数字可以不加""号,例子:{id:1,name:“飘香白咖”,age:18}...

2018-10-15 16:28:42 19327 1

转载 nginx的error.log日志常见的几个错误解决方法

nginx.conf里会有两个日志,分为access.log 和 error.log。其中这两个日志可以细化,一般来说在nginx目录下会有一个logs会保存,然后也可以在对应的server目录里可以分别的设定access.log和error.log来了解对应server的情况。 access.log主要是记录"谁来登陆了,从哪里登陆的,登陆后发生了什么",具体格式可以在nginx...

2018-10-12 20:39:26 4554

空空如也

空空如也

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

TA关注的人

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