自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringMVC上传文件下载后显示乱码问题

JAVA代码层面: @RequestMapping(value = "/getAttachmentFile.action") public ResponseEntity<byte[]> getAttachmentFile(HttpServletRequest request, ...

2019-08-05 15:09:48 613

原创 记录一次sql优化记录(in变为exists和union)

插入300万条数据declarei integer; --定义变量begini := 2000001;loop/* 插入数据 */insert into T_TEST_LARGE_DATA (ID, USERNAME, PASSWD, DEPARTMENTID, DEPARTMENTNAME, TITLE, HIREDATE)values(i,'username','pass...

2019-07-24 09:41:07 398

转载 (转载)SpringMVC 集成 JWT验证方式

JWT官网: https://jwt.io/原文地址:https://www.cnblogs.com/ifindu-san/p/9890879.html这里以java的ssm框架为例,集成jwt。1.pom.xml 导入jwt的包<!-- jwt --><dependency> <groupId>com.auth0</groupId...

2019-06-26 11:33:29 1056 1

原创 Linux 网络命令大全

总的来说,Linux 网络命令涉及到这么几块:- 网络配置: ifconfig、 ip- 连通性探测: ping、 traceroute、 telnet、 mtr- 网络连接: netstat、 ss、 nc、 lsof- 流量统计: ifstat、 sar、 iftop- 交换与路由: arp、 arping、 vconfig、 route- 防火墙: iptables、 ipset...

2019-06-14 10:19:36 1672

原创 linux 防火墙和SELinux

一、防火墙1.查看防火墙状态systemctl status firewalldfirewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running) 2.查看防火墙是否开机启动systemctl is-enabled firewalld3.关闭防火墙systemctl stop firewalldsystemc...

2019-06-14 10:02:53 477

转载 Java的synchronized的同步代码块和同步方法的区别

原文链接:添加链接描述线程同步问题大都使用synchronized解决,有同步代码块和同步方法的两种方式,主要记一下这两种的区别测试代码:复制代码1 package com.xujingyang.testThread;23 public class SynObj{4 public synchronized void showA(){5 System.out....

2019-05-31 23:37:25 101

原创 JVM学习笔记(五)类加载器

类加载的机制的层次结构每个编写的”.java”拓展名类文件都存储着需要执行的程序逻辑,这些”.java”文件经过Java编译器编译成拓展名为”.class”的文件,”.class”文件中保存着Java代码经转换后的虚拟机指令,当需要使用某个类时,虚拟机将会加载它的”.class”文件,并创建对应的class对象,将class文件加载到虚拟机的内存,这个过程称为类加载,这里我们需要了解一下类加载的...

2019-05-25 23:09:05 89

原创 jvm学习笔记(四)垃圾回收策略及jvm透视工具

理解gc日志Minor GC和Full GC区别概念: 新生代 GC(Minor GC):指发生在新生代的垃圾收集动作,因为 Java 对象大多都具备朝生夕灭的特性,所以 Minor GC 非常频繁,一般回收速度也比较快。 老年代 GC(Major GC / Full GC):指发生在老年代的 GC,出现了 Major GC,经常会伴随至少一次的 Minor GC(但非绝对的,在 P...

2019-05-25 23:00:54 114

原创 JVM学习笔记(三)Tomcat配置调优测试

Jmeter压力测试工具JMeter是一款在国外非常流行和受欢迎的开源性能测试工具,像LoadRunner 一样,它也提供了一个利用本地Proxy Server(代理服务器)来录制生成测试脚本的功能,但是这个功能并不好用。所以在本文中介绍一个更为常用的方法——使用Badboy录制生成 JMeter 脚本。简单的介绍一下Badboy。Badboy是一款不错的Web自动化测试工具,如果你将它用于非...

2019-05-25 22:52:45 114

原创 JVM学习(二)垃圾回收机制算法分析

1. 什么是垃圾回收机制不定时去堆内存中清理不可达对象。不可达的对象并不会马上就会直接回收, 垃圾收集器在一个Java程序中的执行是自动的,不能强制执行,即使程序员能明确地判断出有一块内存已经无用了,是应该回收的,程序员也不能强制垃圾收集器回收该内存块。程序员唯一能做的就是通过调用System.gc 方法来"建议"执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的。这也是垃圾收集器的最...

2019-05-25 22:45:26 115

原创 JVM学习笔记(一)JAVA内存模型及其组成

1. 什么是HotSpot VM是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机2. Java内存结构先上一张图:模块解释:1. Java堆(Java Heap):java堆是java虚拟机所管理的内存中最大的一块,是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,这一点在Java虚拟机规范中的描述是:所有的...

2019-05-25 21:18:06 88

转载 MySQL添加用户、删除用户与授权

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):1.新建用户1.1 登录MYSQL:@>mysql -u root -p@>密码1.2 创建用户:mysql> insert into mysql.user(Host,User,Password) values(“localhost”,“test”,passwo...

2019-05-16 15:53:16 1684

转载 Redis实现分布式锁原理与实现分析

原文链接:添加链接描述一、关于分布式锁关于分布式锁,可能绝大部分人都会或多或少涉及到。我举二个例子:场景一:从前端界面发起一笔支付请求,如果前端没有做防重处理,那么可能在某一个时刻会有二笔一样的单子同时到达系统后台。场景二:在App中下订单的时候,点击确认之后,没反应,就又点击了几次。在这种情况下,如果无法保证该接口的幂等性,那么将会出现重复下单问题。在接收消息的时候,消息推送重复。如...

2019-04-30 17:19:38 123

转载 java中随机生成字符串的方法(三种)

1、生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random;//length用户要求产生字符串的长度public static String getRandomString(int length){String str=“abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012...

2019-04-30 15:31:26 387

转载 linux 使用scp命令从一台机器复制文件到另一台linux机器上去

1、功能说明scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下:scp 远程用户名@IP地址:文件的绝对路径 本地Linux系统路径scp 本地Linux系统文件路径 远程用户名@IP地址:远程系统文件绝对路径名scp使用第一种格式是将远程Linux系统上的某个文件或者目...

2019-04-29 16:57:08 3518

转载 xml转义字符

被<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容“<”。  此标记用于xml文档中,我们先来看看使用转义符的情况。我们知道,在xml中,”<”、”>”、”&”等字符是不能直接存入的,否则xml语法检查时会报错,如果想在xml中使用这些符号,必须将其转义为实体,如”<”、”>...

2019-03-20 17:30:35 706

转载 idea打包java可执行jar包

原文链接:https://www.cnblogs.com/blog5277/p/5920560.html1,在项目上鼠标右键 --&gt; Open Module Settings2, Artifacts --&gt; + --&gt; JAR --&gt; From modules with dependencies…3, Main Class是你这个项目(脚本)的主方法,就是要...

2019-03-07 15:34:25 94

转载 (转)Spring中使用RedisTemplate操作Redis(spring-data-redis)

原文链接:https://www.cnblogs.com/EasonJim/p/7803067.htmlRedis 数据结构简介Redis可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。下面来对这5种数据结构类型作简单的介绍:结构类型 结构存储的值 结构的读写能力S...

2019-02-28 01:14:06 272

转载 (转)NIO与传统IO的区别

原文作者:zhouhl_cn原文链接:https://blog.csdn.net/zhouhl_cn/article/details/6568119传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的...

2019-02-22 15:43:01 105

转载 (转)在浏览器上安装 Vue Devtools工具

链接:https://www.cnblogs.com/tanyongli/p/7554045.html

2019-02-20 23:01:04 309

原创 Linux环境下配置JavaWeb环境并部署项目

#linux的环境配置 (相关文章 http://www.cnblogs.com/jiu0821/p/7672395.html)[root@localhost logs]# sudo vi /etc/profile --进入(结束使用:wq保存并退出)[root@localhost logs]# source /etc/profile --生效#关闭防火墙的方法为:(相关文章:http:/...

2019-01-29 16:50:21 144

转载 (转)使用Docker搭建JavaWeb环境

原料前提条件首先,您要准备一个 CentOS 的操作系统,虚拟机也行。总之,可以通过 Linux 客户端工具访问到 CentOS 操作系统就行。需要说明的是,Ubuntu 或其它 Linux 操作系统也能玩 Docker,只不过本文选择了以 CentOS 为例,仅此而已。CentOS 具体要求如下:必须是 64 位操作系统建议内核在 3.8 以上通过以下命令查看您的 CentOS...

2019-01-29 10:12:33 131

转载 Docker安装Web环境

链接https://www.cnblogs.com/zengkefu/p/5667046.html

2019-01-29 01:16:46 274

转载 (转)基于注解的Spring多数据源配置和使用

前一段时间研究了一下spring多数据源的配置和使用,为了后期从多个数据源拉取数据定时进行数据分析和报表统计做准备。由于之前做过的项目都是单数据源的,没有遇到这种场景,所以也一直没有去了解过如何配置多数据源。后来发现其实基于spring来配置和使用多数据源还是比较简单的,因为spring框架已经预留了这样的接口可以方便数据源的切换。先看一下spring获取数据源的源码:可以看到Abstrac...

2019-01-25 17:40:19 123

转载 (转)Oracle DBLINK 简单使用以及建立物化视图

原文地址:https://www.cnblogs.com/wangyong/p/6354528.htmloracle在进行跨库访问时,可以通过创建dblink实现,今天就简单的介绍下如果创建dblink,以及通过dblink完成插入、修改、删除等操作 首先了解下环境:在tnsnames.ora中配置两个数据库别名:orcl(用户名:wangyong 密码:1988)、orcl2(用...

2019-01-25 14:41:52 1149

原创 Oracle的各种索引(普通、唯一、复合)

原文链接: https://blog.csdn.net/winy_lm/article/details/49718193索引对于优化数据库查询效率方面有着非常巨大的作用,下面是一个简单索引查询效率示例,希望能帮到一些朋友。前提:范例表user_info,通过存储过程插入6万条数据。表结构:存储过程:BEGINDECLARE i INT;SET i =1;WHILE i &lt;...

2019-01-24 17:28:21 5838

原创 SpringCloud学习总结

1.微服务与微服务架构微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行单独启动或销毁,拥有自己独立的数据库。2.微服务技术栈有哪些服务开发Springboot、Spring、SpringMVC服务配置与管理Netflix公司的Arch...

2019-01-21 10:35:18 242

原创 多线程笔记(一)关键字volatile、join、synchronized、Lock、Thread和Runnable

1. 关于volatile关键字http://www.cnblogs.com/dolphin0520/p/3920373.html2. 关于join的基础知识join()方法的作用是等待线程对象销毁。 join()方法具有能使线程排队运行的作用,有点类似于同步的效果。join与synchronize的区别: join在内部使用wait()方法进行等待,底层用wait()来实现。 ...

2018-12-17 11:05:11 175

原创 性冷淡风小结常用设计模式(八)------代理模式

1. 几种常见的代理模式代理模式定义:为其他对象提供一种代理以控制这个对象的访问。代理模式结构: Subject:抽象主题类,声明真实主题与代理的共同接口方法。 RealSubject:真实主题类,定义了代理所表示的真实对象,客户端通过代理类间接的调用真实主题类的方法。 ProxySubject:代理类,持有对真实主题类的引用,在其所实现的接口方法中调用真实主题类中相...

2018-12-11 11:33:01 85

原创 性冷淡风小结常用设计模式(七)------原型模式

**1. 定义:通过复制现有实例来创建新的实例,无需知道相应类的信息。**原理示例如下:具体代码如下:2. 原型模式优缺点:**优点:**通过原型模式是从内存中直接拷贝一份,隐藏了创建新实例的复杂性;相对于new一个对象,速度更快,更高效。重复创建相似的对象的时候,可以考虑使用原型模式。**缺点:**每一个类必须配备一个克隆方法。深层复制比较复杂。3. 单例模式与原型模式的冲突比...

2018-12-10 17:32:40 117

原创 性冷淡风小结常用设计模式(六)------适配器模式

一、适配器模式原理首先,举个例子:插座与插头。比如,中国人去英联邦国家,要带插座转换器。然后,来一段火鸡变鸭子的代码。要实现的目标是,调用鸭子类的(quack()和fly())方法,但打印火鸡的叫声和飞行距离。即,为火鸡披上鸭子的外衣,但仍然可以做自己的事情。适配器类public class TurkeyAdapter2 extends WildTurkey implements Duck...

2018-12-10 15:11:58 139

原创 性冷淡风小结常用设计模式(五)------工厂模式

一、工厂模式定义:工厂模式:为创建对象提供过度接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。工厂方法1、当一个类不知道它所必须创建的对象的类的时候;2、当一个类希望由它的子类来指定它所创建的对象的时候;3、当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮组子类是代理者这一信息局部化的时候。二、抽象工厂模式定义:定义了一个接口,用于创建相...

2018-12-10 11:05:42 92

原创 性冷淡风小结常用设计模式(四)------单例模式

1. 单例模式的意义:在项目中,有些实例只能有一个,比如 线程池、缓存、硬件设备。在new的过程中,如果有多个地方new了这些实例,比如在打印机设备中 A,B,C,D分别new了打印机,可能会造成打印内容合并、混乱、冲突、结果不一致。即,一个类,实际上该只有一个实例,但如果由于系统设计的失误,导致多个实例被new出来,会造成混乱,就需要用到单例模式。2. 使用意义上的单例:使用静态变量3....

2018-12-10 10:21:46 134

转载 (转载)RabbitMQ基础知识

原文地址:http://www.cnblogs.com/dwlsxj/p/RabbitMQ.html一、背景RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是...

2018-12-07 11:15:49 97

转载 (转)Collections.sort的两种用法

原文地址:https://www.cnblogs.com/yw0219/p/7222108.html?utm_source=itdadao&amp;utm_medium=referralCollections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式:复制代码public static &lt;T extends Comparable&lt...

2018-12-06 17:02:28 122

原创 (转)并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法

在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。线程安全就是说多线程访问同一代码...

2018-12-04 16:29:12 90

原创 (转)java中关于AtomicInteger的使用

在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。咳哟参考我之前写的一篇博客http://www.cnblogs.com/sharkli/p/5597148.html,今天偶然发现可以不用synchronized使用AtomicInteger完成同样的功能,具体代码如下,...

2018-12-04 15:54:31 1495

原创 性冷淡风小结常用设计模式(三)------装饰者模式

一、一句话描述装饰者模式装饰者模式: 动态的将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性。在装饰者模式中,会有一个Decorator的类,该类的作用类似于一个增强器,继承了该类的类,会被增加一些原本没有的功能/数据/方法。二、先简要说明一下类的继承层次现在有三个类:Drink(饮料类)、Coffee(咖啡类)、Decaf(低咖啡因咖啡),类的继承关系如下:三个类的代码如下...

2018-12-03 17:41:53 145

原创 性冷淡风小结常用设计模式(二)------观察者模式

一、定义:观察者模式: 对象之间多对一依赖的一种设计方案,被依赖的对象为Subject,依赖的对象为Observer,Subject通知Observer变化。观察者模式就像是预定牛奶业务,奶站是Subject,订奶人是Observer。其中,Subject和Observer的接口设计如下:Subject:登记注册、移除和通知Observer:接收输入二、场景说明:以天气预报为例,现有...

2018-12-03 11:32:59 91

原创 性冷淡风小结常用设计模式(一)------策略模式

一、面向对象通用基本原则:抽象、继承、多态简单的讲,所谓设计模式就是用更专业和细致的的语言描述抽象、继承和多态。在实际开发中,如果一时想不到要用哪种设计模式来优化自己的代码,就使用最基本的抽象、继承、多态来抽取公共接口,将动态的代码用接口+参数实现的方式进行。但是,该模式要注意,继承是有原罪的:对类的局部改动,尤其超类的局部改动,会影响其他部分。影响会有溢出效应。例如:public ab...

2018-11-30 16:25:29 138

空空如也

空空如也

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

TA关注的人

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