自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 VI/VIM几种快速搜索功能

vim有强大的字符串查找功能。      我们通常在vim下要查找字符串的时候, 都是输入 / 或者 ?  加 需要查找的字符串来进行搜索,比如想搜索 super 这个单词, 可以输入  /super  或者  ?super,  两者的区别是前者是从上往下搜索,后者是从下往上搜索。      那么如果我想搜索本行中某个单词,并且这个单词很长的时候, 手动输入该字符串是非常麻烦的, 当然可以...

2018-09-29 23:08:45 23628

转载 linux下快速查找文件

在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。  区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。                   (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。              ...

2018-09-29 23:03:57 1851

转载 Quartz学习——Spring和Quartz集成详解(三)

Spring是一个很优秀的框架,它无缝的集成了Quartz,简单方便的让企业级应用更好的使用Quartz进行任务的调度。下面就对Spring集成Quartz进行简单的介绍和示例讲解!和上一节 Quartz学习——2、简单入门示例Demo的流程相似,介绍Spring和Quartz集成存储方式使用的是RAM方式和JDBC方式!注:在企业级开发过程中,正常情况下不会使用RAM方式进行任务的存储,都是使...

2018-09-29 20:15:48 172

转载 MyBatis之TypeHandler

在大学写web应用的时候经常会遇到这么个问题,当我要插入一条数据,某个数据是Date类型,数据库中却是VARCHAR类型,这个时候可能会傻乎乎的先把这个数据自己手动转换成String类型再插入到数据库中,其实大可不必。MyBatis为我们提供了更好的方法即是TypeHandler来应对Java和jdbc字段类型不匹配的情况。MyBatis中内置了不少的TypeHandler,如果我们想要自己自定义...

2018-09-29 17:24:46 104

转载 Kafka_生产者、消费者、流API

生产者客户端API Properties props = new Properties(); props.put("bootstrap.servers", "192.168.6.187:9092,192.168.6.188:9092,192.168.6.229:9092"); props.put("acks", "all"); props.put("retries", 0); ...

2018-09-29 15:50:47 432

转载 Kafka消息序列化和反序列化(上)

Kafka Producer在发送消息时必须配置的参数为:bootstrap.servers、key.serializer、value.serializer。序列化操作是在拦截器(Interceptor)执行之后并且在分配分区(partitions)之前执行的。首先我们通过一段示例代码来看下普通情况下Kafka Producer如何编写:public class ProducerJava...

2018-09-29 15:19:32 1031

转载 tomcat 详解 三catalina.home和catalina.base

log4j.properties  文件的配置内容如下:log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d %p [%c...

2018-09-29 11:02:02 1435

转载 Spring Security安全框架入门篇

一、Spring Security相关概念1.1.、Spring Security介绍:Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架(简单说是对访问权限进行控制嘛)。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:D...

2018-09-29 10:09:50 425

转载 生产环境禁用Swagger

1. 打包环境的属性值来禁用1.1 在属性文件中配置变量#Swagger开关SWAGGER.ENABLE = true1.2 在配置类中设置开关 @Value("${SWAGGER.ENABLE}") private boolean swaggerEnable; @Override public void addResourceHandler...

2018-09-29 10:01:18 2288

转载 Shiro结合JWT实现单点登录

简述Apache Shiro是java的一个安全框架,Shiro可以帮助我们完成认证、授权、加密、会话管理、与Web集成、缓存等。而且Shiro的API也比较简单,这里我们就不进行过多的赘述,想要详细了解Shiro的,推荐看开涛的博客(点这里)在Shiro的强大权限管理的基础上,我们实现单点登录就容易了很多,结合我上篇博客所讲的JSON Web Token(推荐先看这篇博客)就可以完成单点...

2018-09-29 09:52:03 4059

转载 kafka 创建topic,查看topic

创建创建kafka topicbin/kafka-topics.sh --create --topic topicname --replication-factor 1 --partitions 1 --zookeeper localhost:2181  方法一:执行linux命令:bin/kafka-topics.sh --create --topic topicname --rep...

2018-09-28 16:46:21 14919 1

转载 Java中clone( )和new效率比较

对象创建的几种方法:1.使用new关键字2.使用clone方法3.反射机制4.反序列化以上四种都可以产生java对象1,3都会明确的显式的调用构造函数2是在内存上对已有对象的影印 所以不会调用构造函数4是从文件中还原类的对象 也不会调用构造函数何为clone()?1.拷贝对象返回的是一个新的对象,而不是一个对象的引用地址;2.拷贝对象已经包含原来对象的信息,而不是...

2018-09-28 12:32:14 1114

转载 eclipse 打断点不进入debug模式

windows->preferences->Tomcat->JVM Settings   下面那个 不该打勾的地方。!!!中文翻译:“不以debug模式运行tomcat”

2018-09-27 17:22:09 5902

转载 idea debug打得断点第一次可以进入,第二次不能进入

2018-09-27 17:20:07 3296 2

转载 Linux中,top命令查看CPU利用率

top在命令行中输入 “top”即可 top 的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。系统信息栏 第一行(top):    “23:07:30"为系统当前时刻;    “12:03”为系统启动后到现在的运作时间;    “1 users”为当前登录到系统的用户,更确切的说是登录到用户的终端数 -- 同一个用户同一时间对系统多个终端的连接将被...

2018-09-27 17:05:35 6130

转载 Linux系统查看CPU使用率的几个命令

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。而监控CPU的性能一般包括以下3点:运行队列、CPU使用率和上下文切换。对于每一个CPU来说运行队列最好不要超过3,例如,如果是双核CPU就不要超过6。如果队列长期保持在3以上,说明任何一个进程运行时都不能马上得到cpu的响应,这时可能需要考虑升级cpu。另外满负荷运行cpu的使用率最好是user空间保持在65%~...

2018-09-27 17:02:44 936

原创 /proc/cpuinfo 文件分析(查看CPU信息)

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l# 查看每个物理CPU中core的个数(即核数)cat /proc/cpuinfo| grep "cpu core...

2018-09-27 16:46:29 4693

转载 java web项目在tomcat中以调试模式运行

自己测试环境是:JDK1.8Eclipse4.5tomcat 8.5如果只是将项目部署在tomcat中并不能进行调试,所以还需要进行配置一下,步骤如下:在tomcat的bin目录下找到catalina.bat文件进行修改找到该文件用文本编辑器打开,在   set _EXECJAVA=%_RUNJAVA% set MAINCLASS=org.apa...

2018-09-26 10:01:43 1720

转载 Jetty远程调试

概述开发环境里运行的好好的代码,部署到测试环境,生产环境就是状况百出,这种遭遇大家一定都有过......如果能debug一下肯定是很有帮助滴,那么今天就分享一下jetty的远程调试 打开jetty的远程调试支持jetty主目录下有个start.ini,打开这个文件添加如下配置-Xrunjdwp:transport=dt_socket,address=8787,server=y,...

2018-09-25 23:29:58 328

转载 eclipse远程调试Tomcat方法(测试成功并且说说遇到的坑)

PS:文中容易引起歧义的地方已经做了修改;另外,本人参照以下步骤操作,结果无法调试,后来发现是breakpoints的设置。。,如图是不跳过断点,如果点击了就是跳过断点。。 1、如果要调试远程Linux下tomcat应用,配置tomcat在catalina.sh中添加如下CATALINA_OPTS="-Xdebug  -Xrunjdwp:transport=dt_socket,addre...

2018-09-25 23:27:26 3388 1

转载 com.sun.tools.javac.Main

常的入口点是com.sun.tools.javac.main.Main。 公共的API入口点是com.sun.tools.javac.Main,这直接调用com.sun.tools.javac.main.Main。Main调用 JavaComplier,调用时可用选项总共有四类: (1)标准公共选项,比如,-classpath。 (2)扩展公共选项,以-X开头,比如-Xlint (3)隐藏选项,没...

2018-09-23 00:30:10 1839

转载 gradle多项目构建

由于最近在研究多项目构建,查阅了一些博客,感觉不如索性自己看看文档,原文在https://guides.gradle.org/creating-multi-project-builds/,另附两个链接, github上有些gradle的项目,供参考,https://github.com/gradle, 官网上还有一些英文书籍,https://gradle.org/books/。 下为正文。 1. ...

2018-09-22 23:51:40 212

转载 爱上单元测试:基于Groovy的Spock框架

Spock测试框架基于Groovy并吸收了Junit、TestNG、Mockito等测试框架的优点。 Spock编写的单元测试层次清晰,代码量少,可读性好。 Groovy无缝兼容Java:Groovy最终会编译为class文件,JVM并不在乎class来自Java还是Groovy文件,支持各种集成开发环境(eclipse,Intellij Ieda),尤其是Intellij idea已经集成支持G...

2018-09-22 23:47:17 671

转载 gradle

最近在一个项目上部分应用了Groovy进行高并发程序的开发,有一些经验和教训分享如下: 1. 尽量使用静态编译和类型检查标志(Groovy版本>2.0),对性能有很大的提升 @CompileStatic @TypeChecked 2. 尽量不使用动态代码 3. catch(Exception e){ println e?.message}代码里的?尽可能增加,可能会节约很多的调试时间 4. ...

2018-09-22 23:43:40 94

转载 Groovy 生产项目的一些应用心得

最近在一个项目上部分应用了Groovy进行高并发程序的开发,有一些经验和教训分享如下: 1. 尽量使用静态编译和类型检查标志(Groovy版本>2.0),对性能有很大的提升 @CompileStatic @TypeChecked 2. 尽量不使用动态代码 3. catch(Exception e){ println e?.message}代码里的?尽可能增加,可能会节约很多的调试时间 4. ...

2018-09-22 23:36:58 1189

转载 gRPC HelloWorld java版

1. 创建一个maven项目 2. 加入依赖 3. 编写proto文件 4. 编写服务端文件, 和客户端文件 package org; import io.grpc.Server; import io.grpc.ServerBuilder; import io.grpc.examples.helloworld.GreeterGrpc; import io.grpc.examples.hellowo...

2018-09-22 23:19:46 249

转载 @Data 注解引出的 lombok 小辣椒

今天在看代码的时候, 看到了这个注解, 之前都没有见过, 所以就查了下, 发现还是个不错的注解, 可以让代码更加简洁.这个注解来自于 lombok,lombok 能够减少大量的模板代码,减少了在使用@Data 注解时, 需要导入lombok.Data,下面列举下 lombok提供的注解:val : 和 scala 中 val 同名, 可以在运行时确定类型;@NonNull : 注解在...

2018-09-22 23:13:18 225

转载 Lombok 之 Constructor

在Lombok中,生成构造方法的annotation一共有三个,@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsContructor。使用这三个annotation来完成项目中对于不同构造方法的需求。   @NoArgsConstructor : 生成一个无参数的构造方法,这个annotation在与其他的annotation配合起来使用...

2018-09-22 23:10:28 2254

转载 Java中json的使用之创建篇(三)

本文主要讲述如何创建一个JSON数据, 通过前一篇文章,相信大家拿到一个json数据的时候,可以很轻易的获取里面的内容了吧。 下面我们开始讲述如何创建: 首先在src下创建一个Class,取名为TestCreateJSON.java 在类中我们需要写一个方法,返回类型为JsonObject,方法名为createJSON(),代码如下: public JsonObject createJSON() ...

2018-09-22 23:05:12 695

转载 Google Gson的使用方法,实现Json结构的相互转换

在Java开发中,有时需要保存一个数据结构成字符串,可能你会考虑用Json,但是当Json字符串转换成Java对象时,转换成的是JsonObject,并不是你想要的Class类型的对象,操作起来就很不是愉悦,下面说的就可以解决了这种问题。 首先,需要把Google的Gson的Jar包导入到项目中,这个导入包的简单步骤就不展示了,Gson的下载链接:http://download.csdn.net/...

2018-09-21 17:47:06 193

转载 利用Google Gson实现JSON字符串和对象之间相互转换

最近一个项目需要用到JSON,需要在JSON字符串和对象之间相互转换,在网上找了些资料,发现google的Gson还是比较不错的。 废话不说,下面是简单的例子: 先上源码:下载(包含jar包) Person实体类 package com.hsun.json; /** * Person 实体类 * @author hsun * */ public class Person { private int...

2018-09-21 16:05:30 4733 3

转载 Gson操作json字符串和json对象数组

引入gson-1.4.jar,(挺蛋疼的,不想自己研究这玩意,寻思网上直接找现成的Demo,结果没有我想要的东西) Gson中重要的几个核心类: Gson、JsonParser、JsonObject、JsonArray。 下面演示这两个类之间的转换过程: import java.util.ArrayList; import java.util.HashMap; import java.util.I...

2018-09-21 15:58:15 2983 1

转载 java API 知识:截取特殊标识之前的字符串

一: double a = 23.36;String b = String.valueOf(a);String d = b.substring(0, b.lastIndexOf("."));System.out.println(d); 测试结果是:23 二:String s="信贷业务-快速贷/快逸贷/快易还,";String d=s.substring(0, ...

2018-09-21 10:40:46 2999

转载 linux性能分析工具介绍(CPU,内存,磁盘I/O,网络)

一. CPU性能评估1.vmstat [-V] [-n] [depay [count]]-V : 打印出版本信息,可选参数-n : 在周期性循环输出时,头部信息仅显示一次delay : 两次输出之间的时间间隔count : 按照delay指定的时间间隔统计的次数。默认是1如:vmstat 1 3user1@user1-desktop:~$ vmstat 1 3pro...

2018-09-19 11:19:03 927

转载 【Linux】Swap与Memory

背景介绍  Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存的造价是要高于磁盘的,且内存的断电丢失数据也是不能把所有数据和程序都保存在内存中的原因。  既然不能全部使用内存,那数据还有程序不可能一直霸占在内存中。当内存没有可用的,就必须要把内存中不经常运行的程序踢出去。但是踢到哪里去,这时候s...

2018-09-19 10:25:15 1641

转载 Vue.js常见命令 (启动 部署)

项目搭建安装vue-clinpl install vue-cli -gvue init webpack my-project  初始化项目npm install  安装项目依赖  -->>npm run build 生成上线目录部署nmp run dev在localhost启动测试服务器步骤一1.完成node.js安装搭建目的:配合前端开发搭建 为全局工作方法:通过...

2018-09-18 10:56:24 2295

转载 用vscode实现vue.js项目的一个完整过程

1,新建项目 打开Visual studio code 打开一个你想要创建项目的文件夹 打开集成终端:查看 –> 集成终端 或者直接按 ctrl+`如果没有安装vue-cli,在终端输入:npm install -g vue-cli 全局安装vue-cli然后新建项目vue init webpack projectName1projectName换为你想要的名...

2018-09-18 10:50:09 4925

转载 Visual Studio Code断点调试Vue

很多人习惯在 Chrome 的调试窗口中调试 Vue 代码, 或者直接使用 console.log 来观察变量值, 这是非常痛苦的一件事,需要同时打开至少 3 个窗体。个人还是更加习惯于断点调试。这篇文章将介绍如何配置 Visual Studio Code 和 Chrome 来完成直接在 VS Code 断点调试代码, 并且在VS Code的调试窗口看到Chrome中console相同的值。设...

2018-09-18 10:47:51 3543

转载 Java集合---ConcurrentHashMap原理分析

一、背景:线程不安全的HashMap    因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 效率低下的HashTable容器     HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTabl...

2018-09-18 09:54:18 122

转载 Minor GC、Major GC和Full GC之间的区别及JVM内存分布,JVM垃圾回收初解-JVM

JVM 内置的通用垃圾回收原则。堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,代假设和其他不同的 GC 算法超出了本文讨论的范围。Minor GC从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC。这一定义既清晰又易于理解。但是,当发生Minor GC事件的时候,有一些有趣的地方需要注意到: 当 JVM 无法为一个新的对...

2018-09-18 09:51:10 1064

空空如也

空空如也

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

TA关注的人

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