自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 免费Redis桌面工具

分享一个个人开发的基于java的Redis桌面工具要求:电脑预装JDK(1.8以上)JAVA_HOME环境变量下载地址下载连接

2020-11-04 17:27:43 397

原创 多线程的一些笔记

实现多线程的几种方式:实现Runnable接口继承Thread类实现Callable接口,通过ExecutorService通过任务形式实现。关于线程同步的Lock和sychronized:Lock比synchronized功能更强大,有能够实现读写分离的读锁、写锁,有解决死锁问题的自旋锁等。Lock所属为代码级别,sychronized属jvm控制级别。Lock可为公...

2018-12-10 17:41:37 270

原创 eclipse中maven项目报错

描述:新导入的Maven web工程,无任何缘由的显示个大红插,无法启动,无法打包。进一步:src/main/java src/main/resources目录结构都没有问题,但src目录下包目录重复,症结所在。后查资料总结:此情况是由于maven下载Jar有问题,但是在次更新依赖时由于有问题的Jar存在于本地仓库,maven并不会重新下载更新,所以不管是clean project还是up...

2018-06-08 14:08:46 330

原创 eclipse中maven项目报错

描述:新导入的Maven web工程,无任何缘由的显示个大红插,无法启动,无法打包。进一步:src/main/java src/main/resources目录结构都没有问题,但src目录下包目录重复,症结所在。后查资料总结:此情况是由于maven下载Jar有问题,但是在次更新依赖时由于有问题的Jar存在于本地仓库,maven并不会重新下载更新,所以不管是clean project还是up...

2018-06-08 14:08:43 441

原创 通过maven引入POI

引入时如果只引:<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version></dependency>则无XSSF

2018-05-25 09:42:57 45890 2

原创 spring接收Integer的问题

正常情况下,使用包装类型可以避免传空时报错,但JavaBean中需要不只改类型,同样要改set方法中的传参类型,否则报如下错误:org.springframework.validation.BeanPropertyBindingResult: 1 errorsField error in object 'zcPersonsDto' on field 'fcancel': rejected v...

2018-05-21 15:50:23 3385

原创 记spring RestTemplate调用时中文乱码问题解决

问题描述:GET调用接口,DEBUG跟踪在返前台之前无乱码,但浏览器上显示乱码。尝试过修改StringHttpMessageConverter编码方式,但无效。最后解决方法:@RequestMapping(value="/common",produces = "application/json; charset=UTF-8")@RestController指定响应格式时指定编码...

2018-05-17 09:01:09 877

原创 六大设计原则

六大原则:Single Responsibility Principle:单一职责原则 Open Closed Principle:开闭原则 Liskov Substitution Principle:里氏替换原则 Law of Demeter:迪米特法则 Interface Segregation Principle: 接口隔离原则 Dependence Inversion Pr

2017-12-05 07:55:18 186

翻译 vagrant init命令及其他一些命令

Init用法:vagrant init [name [url]]此命令初始化当前目录使其成为Vagrant环境目录,通过在不存在的情况下会创建一个Vagrantfile方式。如果指定了第一个参数name,它将被填充到Vagranfile文件中的config.vm.box配置中。如果指定了第二个参数url,它将被填充到Vagrantfile文件中的config.vm.box_url配置中。可用选项:

2017-11-13 23:53:07 4096

翻译 vagrant box命令

vagrant box命令用于管理boxes的命令,比如添加、删除等等。此命令的功能主要通过以下子命令完成:addlistoutdatedpruneremoverepackageupdateBox Add用法:vargant box add ADDRESS通过地址添加一个vagrant box,地址可是如下几咱:来自可用Vagrant镜像公共目录中的速记名。文件路径或者可用Vag

2017-11-13 00:08:39 3153

翻译 Nginx开始向导

Nginx开始向导Nginx拥有一个主(master)进程和几个工作(worker)进程,主进程主要用于读取与评估配置,维护工作进程。工作进程则负责请求的实际操作。Nginx采用事件驱动模型和平台无关机制以有效的在工作进程间分发请求。工作进程的数目在其配置中指定,可以是固定的配置数目也可以自动匹配为可用CPU的个数。Nginx和它的模块的工作方式由其配置文件决定,默认情况下,其配置文件为nginx.

2017-11-10 00:44:22 392

翻译 JVM规范(五)特定方法

Special MethodInstance Initialization Methods(实例初始化方法)一个类可以有0个或者多个实例初始化方法,每个通常都对应一个用java程序语言编写的构造器。如果满足以下条件可看作是一个实例初始化方法:在类中定义,而非接口。它有专有名字init.它返回空在一个类中,其他命名为init的方法不是实例初始化方法。在一个接口,任何一个名字为init的方法都不

2017-10-23 23:07:27 470

翻译 Jenkins用户手册-管理插件

Jenkins用户手册(3)Managing Plugins插件是用于增强Jenkins功能以满足机构或者用户特定的需求。有多于一千种不同插件可以安装到Jenkins上以集成不同的构建工具、云服务提供、分析工具等等,Jenkins插件由Update Center提供。此处将讲解使用Jenkins Web UI对插件的基本管理。Installing a pluginJenkins提供了两种安装插件的方

2017-10-23 10:28:12 518

翻译 JVM规范(四)Frames

Frames一个frame是被用于存储数据和部分结果的,以及执行动态链接、返回方法的值和分派异常。frame在每次一个方法被调用时创建,在方法调用结束时销毁,不管其完成的结果是正常的还是异常的。frame从创建此frame的线程的虚拟机栈分配。每个含有它自己的本地变量数组、它自己的操作栈和当前方法的类的运行时常量池的引用。frame本地变量数组和其操作栈大小在编译时确定,且同此frame相关联的代码

2017-10-22 20:26:10 437

翻译 JVM规范(三)内存区域

Java虚拟机定义了被用于程序运行期间的不同运行时数据区域。这些数据区域中的一些在Java虚拟机启动时创建,退出时销毁。其他数据区域是线程级的,每个线程数据区域当一个线程创建的时候创建,线程退出的时候销毁。The pc RegisterJava虚拟机可以支持一次性许多线程的执行(JLS)。每个虚拟机线程有它自己的pc(程序计数器) register(寄存器)。在任何时候,每个Java虚拟机线程都在执

2017-10-22 01:29:21 362

翻译 JVM规范二(数据类型)

跟java程序语言一样,Java虚拟机同样也支持两种数据类型:基本类型和引用类型,同样有两种对应的类型值存储在这两种变量中,可被当做参数传递,方法返回或者直接操作。Java虚拟机希望几乎所有的类型检查都在运行时前完成。通常应该由一个叫做编译器的完成,而不应该是Java虚拟机本身完成。基本类型的值需要能够在运行时检查他们的类型和同引用类型的值区分。Java虚拟机明确包含了对于对象的支持。一个对象要么是

2017-10-22 00:45:44 367

翻译 Jenkins用户手册-配置

JNLP TCP PortJekins使用一个TCP端口同通过JNLP协议启动的代代理通信。如果管理员希望使用基于JNLP的代理,选择使用端口有两咱方案:Random: 端口随机,以避免同Jenkins主服务端口冲突。缺陷是随机分配JNLP端口发生在Jenkins主服务引导期间,使得很难设置有效的防火墙规则以允许JNLP端口的通过。Fixed:由管理员指定,可避免Random方案中的缺陷,但需小

2017-10-20 09:36:00 1384

翻译 Jenkins用户手册-安装

Getting Started本章适用于不熟悉Jenkins新用户或者缺少新版本Jenkins经验的老用户。本章将引导你安装一个Jenkins实例和理解基本的Jenkins概念,并且提供通常任务的每一步的操作教程。本章每个区域的都是按顺序完成的,每块都依据前一区域的知识。当你完成本单的时候,你应该就有了继续自己探索的经验。如果你已经熟知Jenkins的基本知识,想要深入钻研怎么使用其特性,参看Usi

2017-10-19 09:34:13 487

翻译 JVM规范一(简介)

The Java Virtual Machinejvm是java平台的基石。它是负责独立于硬件与操作系统、减小它编译后代码的大小和保护用户免受恶意程序 的技术组件。jvm是一个抽象的计算机。就像一个真正的计算机一样,拥有一个指令集且可在运行时操作不同的内存区域。 使用一个虚拟机实现一门编程语言是相当通用的,最为从人所知的也许要数UCSD Pascal的P-Code虚拟机了。在Sun公司实现的jv

2017-10-16 23:35:27 768

原创 HTTP(一)

HTTP MIME类型原为Multipurpose Internet Mail Extension,多用途因特网邮件扩展,用于解决在不同的电子邮件系统之间搬移报文时存在的问题,后HTTP采纳了它,用于描述并标记多媒体内容。Web服务器会为所有HTTP对象数据附加一个MIME类型,而后Web浏览器从服务器取回一个对象时,会查看相关的MIME类型,以确定自己是如何处理这个对象。MIME类型是一种文本标记

2017-09-21 10:04:40 1084

原创 java nio buffer

概念上,缓冲区是包在一个对象内的基本数据元素数组。Buffer类相比一个简单数组的优点是它将关于数据的 数据内容和信息包含在一个单一的对象中。Buffer类以及它专有的子类定义了一个用于处理数据缓冲区的API。(1)属性:所有的缓冲区都具有四个属性来提供关于其所包含的数据元素的信息。它们是容量(Capacity):缓冲区能够容纳的数据元素的最大数量,这一容量在缓冲区被创建时指定,并且永远不能改变

2017-09-20 23:18:03 184

翻译 spring源码-ApplicationContext

package org.springframework.context;import org.springframework.beans.factory.HierarchicalBeanFactory;import org.springframework.beans.factory.ListableBeanFactory;import org.springframework.beans.fact

2017-09-18 08:14:38 473

翻译 Spring Bean介绍

Spring Bean介绍一个Spring IoC容器管理一个或者多个beans。这些beans依据你填充在容器中的元数据配置创建,如以XML中的Bean命名每个bean都有一个或者多个标识符,这些标识符在容器中都必须是惟一的。通学一个bean仅有一个标识符,但是如果需要多个,其他的则可以使用别名(aliases)。在基于XML的元数据配置,你可以使用id或者name属性来指定bean的标识符。id

2017-09-12 14:42:58 206

原创 script无素

script无素HTML 4.01定义的六个属性:async:可选,表示应该立即下载脚本,但不妨碍面面中的其他操作,比如下载其他资源或者等待加载其他脚本。只对外部脚本文件有效。charset:可选表示通过src属性指定的代码的字符集。大多数浏览器忽略此属性,很少使用。defer:可选,表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。language:已废弃,原来用于表

2017-09-11 21:00:54 208

翻译 Spring Boot开发web应用

Spring Boot非常适合web应用的开发, 你可以非常容易的创建一个内嵌tomcat,jetty,undertow,netty等HTTP服务的应用,可以通过spring-boot-starter-web实现快速构建,也可以通过spring-boot-starter-webflux模块快速构建响应式web服务。Spring Web MVC框架Spring Web MVC框架是一个富“model

2017-09-08 11:28:05 1021

翻译 Spring Boot 日志

Spring Boot使用Apache的通用日志接口Commons Logging作为所有内部日志记录器,但是具体实现选择不做要求,默认配置对java.util.Logging,Log4J2和Logback支持。每种日志记录器都默认预配置为控制台输出,但输出到文件亦可用。通常情况下,如果你使用的是”starters”,LogBack为默认日志输出工具,同时包含Logback routing以确保使用

2017-09-07 18:56:31 1629

翻译 Spring Cloud介绍

Spring Cloud基于Spring Boot项目,提供一堆库用以增强被添加到classpath的应用的行为。你可以使用默认行为快速开始,当然如果需要,也可以通过配置或者扩展创建一个订制的解决方案。快速开始推荐在项目中使用如下方式使用spring-cloud:<parent> <groupId>org.springframework.boot</groupId> <artifac

2017-09-05 17:01:32 432

翻译 @SpringBootApplication注解

许多Spring Boot开发者总是在他们的main方法所在的类上使用@Configuration @EnableAutoConfiguration和@ComponentScan.因为三者使用频繁且总是一起使用,所以spring boot提供了一个组合注解来替代它们,也就是@SpringBootApplication注解。@SpringBootApplication注解相当于同时@Configura

2017-08-11 11:08:03 384

翻译 spring boot 配置

spring boot推荐使用Java配置,通过@Configuration注解的类即为配置类。导入其他java配置你不需要把所有的配置都放入由@Configuration注解的单个类中,可以通过@Import注解导入其他配置类。也可以通过@ComponentScan注解自动扫描所有的Spring组件,包括@Configuration注解的配置类。导入XML配置如果你必须使用基于XML的配置,我们推

2017-08-11 10:05:43 168

翻译 Spring Boot关于代码结构两点建议

不要使用Java默认包当一个类没有包声明时,会被默认放入”default package”中。而”default package”的使用是不被建议的,应当避免,因为它的使用可能会导致在使用@ComponentScan,@EntityScan或者@SpringBootApplication注解时发生特别的问题。 注:我们推荐你遵从java的包命名规范,使用反转域名命名包。如:com.example

2017-08-10 17:32:43 914

翻译 使用Spring Boot的两种方式

继承spring-boot-starter-parent如果继承spring-boot-starter-parent,需在pom.xml中加入如下:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2

2017-08-07 09:07:09 1658

翻译 spring boot maven集成

spring boot 简单说明你可以像使用java标准类库一样使用Spring Boot,仅需要项目中包含对应的spring-boot-*.jar即可。Spring Boot不需要任何的特定工具集成,所以你可以使用任意IDE或者文本编辑器,Spring Boot应用也没有任何特殊的地方,你可以像调试和运行其他java程序一样的调试和运行。你可以仅仅拷贝Spring Boot jar包使用,但是我们

2017-08-03 17:33:18 2324

翻译 Git基本知识-基本操作

Git基本知识-记录本地库中文件改变在本地库的文件都可以归为两种状态:tracked或者untracked。tracked文件即已通过git add命令所添加过的文件,它们可以有三种状态:unmodified、modified或者staged;Untracked文件即除tracked文件外的文件。当你的本地Git库为新克隆的库时,那么此库中所有的文件都是tracked和unmodified文件,因为

2017-07-15 21:20:18 531

原创 gcc命令与gdb命令常用选项

gcc命令用法: gcc [选项] [文件名]选项:-o filename:指定输出文件名称(含路径,可相对,可绝对)-c:只编译不链接,可生成目标文件-S:只编译不汇编,生成汇编代码 -E:只进行预编译,不进行其他处理 -g:在可执行文件中包含标准调试信息,如果要使用gdb调试,编译时必用此项才可-v:打印出编译器内部编译过程命令行信息和编译器的版本-std=name:指定所使用的编

2017-07-15 11:42:30 706

翻译 Git 基本知识-创建Git本地库

有两种方式:将一个已存在的目录初始化为Git库。从其他服务上克隆一个已存在的Git库。将一个已存的目录初始化为Git库首先要进入所要初始化为Git库的目录:对于Linux:$ cd /home/user/your-directory对于MAC:$ cd /User/user/your-directory对于Windows:> cd /c/user/your-directoty然后输入以下

2017-07-09 22:12:26 248

翻译 Git的基本知识

Git的基本知识也就是简而言之Git是什么。这是一个重要的要学习的区域,因为如果你理解了什么是Git和Git是怎么工作的,那么高效的使用Git对你来说将变得非常简单。当你学习Git的时候,尝试忘掉你知道的其他版本管理系统知识,如SVN和Perforce,这样做能够帮你在使用Git时避免一些迷惑。Git在存储和考虑信息方面与其他系统有很大的不同,即使用户接口看起来相当相似。理解那些差异可以帮你在使用它

2017-07-02 23:16:42 305

翻译 git 历史简介

git 历史简介正如生活中的许多伟大事物一样,git起初也是饱受争议的。Linux kernel是一个相当大范围的开源软件。在1991年至2002年期间,为了Linux kernel的许多生命周期维护,软件中改变的文件是通过作为补丁和归档文件的方式管理的,在2002年时该项目开始使用一个叫做BitKeeper的专利分布式版本管理系统。然后在2005年,开发Linux kernel的活动中心同开发Bi

2017-07-02 13:47:54 2197

翻译 Rocket MQ 结构体系

Rocket MQ 结构体系Overview 概述Apache RocketMQ是一个低延迟、高性能和可靠的分布式消息中间件。由四部分组成:names server名字服务器、brokers经纪人、producers生产者、cosumers消费者。并且每个组成部分都可以水平扩展。NameServer Cluster 名字服务集群Name servers 提供轻量级查找与路由服务。第个name ser

2017-06-29 15:33:23 1904

翻译 RocketMQ 一些核心概念

Producer:生产者,一个生产者发送业务应用系统生成的数据给Brokers(经纪人)。RocketMQ提供多范式发送:同步,异步,一站式。Producer Group:生产者组,是将同样角色生产者的分组在一起。同一生产组的不同生产者实例都会被Broker经纪人联络告知提交或者回滚事务,以避免事务后源生产者崩溃。 注:考虑到提供的生产者在发送消息时足够给力时,一个生产者组仅允许一个生产者实例,

2017-06-23 09:28:22 9241 1

翻译 Redis Replication

Redis复制非常易于使用和配置主从复制,所谓主从复制即允许slave服务是master服务的正确考贝,关于Redis复制有以下几个要点:Redis使用异步复制。然而,从Redis 2.8开始,slave服务器定期的从复制流获取数据。一个master服务可以有多个slave服务。slave从服务可以接收来自其他slave从服务的连接。除了大量slave从服务连接到master服务外,slave

2017-06-12 15:23:41 345

空空如也

空空如也

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

TA关注的人

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