自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

书生的博客

技术宅

  • 博客(113)
  • 资源 (29)
  • 收藏
  • 关注

原创 package xxx is not in GOROOT

试下:go env -w GO111MODULE=off

2021-04-25 10:54:31 746

原创 ideaVim 不能用? 或者想关闭它?

ideaVim 没法使用? 找到idea的tools/工具栏 —> Vim Emulator被选中时, 说明可以使用vim , 想关停, 点击一下取消选中即可关闭.想让它永久消失? 直接preferences… -----> plugins ----->vim ,删掉就行...

2019-02-22 23:07:00 2981

原创 NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor

遇到下面这个异常, 很抓鸡有木有…Caused by: java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor()Lcom/google/common/util/concurrent/ListeningExecutorService;异常如下:Excepti...

2019-02-22 21:26:25 16113 2

原创 设计模式 之 六大设计原则

设计原则单一职责原则(SRP,single responsibility principle)定义:一个类,应该只有一个引起它变化的原因:即一个类应该只有一个职责。优点: 1. 降低类的复杂性 2. 提高类的可读性 3. 提高代码的可维护性和复用性 4. 降低因变更引起的风险里氏替换原则(Liskov Substitution Principle)定义:子类可以替换父类的位置...

2019-02-17 16:27:51 240

原创 对象继承关系的各种库表映射对比--《sql反模式》

对象继承关系的各种库表映射方案对比需求设计方案EAV表设计简介单表继承简介实体表继承简介类表继承简介半结构化设计简介总结需求在业务中, entity实体之间难免出现继承关系,映射到库表时如何设计?下面将介绍这几种设计方案并对比优缺点:EAV表(entity-Attribute-Value)单表继承实体表继承类表继承半结构化设计(技术选型时需要结合具体业务分析再决定方案)设...

2019-02-10 15:44:52 866

原创 树形结构的各个存取方案对比--《sql反模式》

树形结构的各个存取方案对比问题邻接表简介递归查询简介路径枚举简介嵌套集简介闭包集简介总结问题需要存储树型结构的数据, 比如存储公司组织架构, 或论坛的评论区. 如何设计库表下面提供多种方案并分析各方案的优缺点邻接表递归查找路径枚举嵌套集闭包集(具体的库表方案需要结合具体业务 , 充分考虑各个方案的优缺点后选择 , 没有万能的方案 , 也不要过度设计)邻接表简介最容易...

2019-02-10 10:29:20 1103

原创 LevelDB简介

LSM数据结构及UML图LevelDB 初始化的 UML图LevelDB 初始化的 UML图Iq80DBFactoryDbImplMemTableDbLockLogs静态检查cpu是否64位(因为32位容易用完虚拟地址空间)open()初始化数据库配置设置key的比较器internalKeyComparator初始化内存表(跳跃表实现)定义并创建压缩的线程池设置表缓存tableCache锁定数...

2018-11-11 17:23:32 1156

原创 Trie 数据结构源码分析(源码来源 rt.jar)

node 节点数据结构: /** * The node representation for the trie. * @xsl.usage internal */ class Node { /** * Constructor, creates a Node[ALPHA_SIZE]. */ Node() { m...

2018-06-20 23:40:38 317

原创 Caused by: org.hibernate.jpa.boot.archive.spi.ArchiveException: Could not build ClassFile

Java8 新特性的坑: List uids = new ArrayList uids.add(“asdfa”); uids.forEach(uid->{ System.out.println(); }); 这段代码如果在 spring 的单元测试下就会报错, 只要某个spring 的

2018-01-12 21:59:46 4478

原创 垃圾收集器

串行垃圾收集器两个特点;缺点:使用单线程进行垃圾回收独占式1、新生代串行收集器使用复制算法,没有线程切换,适合单cpu或较小的应用内存硬件平台,JVM在client模式下的默认收集器2、老年代串行收集器使用标记-压缩算法,串行独占3、并行收集器只是简单地将串行回收期多线程化,并行回收器也是独占式,单由于并行回收使用多线程,在cpu较强时停顿时间较短,但在单cpu时效果不比串行回收器好4、新生代

2017-12-01 01:00:29 299

原创 Java垃圾收集基础

Java垃圾收集基础垃圾收集算法引用计数法问题:存在循环依赖导致无法回收问题标记清除法实现方式:通过根节点标记所有可达对象,清除所有不可达对象。 问题:出现大量空间碎片复制算法复制算法适用于新生代,因为在新生代垃圾对象会多于存活对象,复制效果明显。Hotspot虚拟机在新生代使用的就是复制算法(eden:from:to=8:1:1) 对象先在eden区创建,垃圾回收时拷贝到from 或to区域,

2017-12-01 00:26:54 329

原创 intellij idea编辑器里面的字母有的隐形了是为什么

如图:(此图来自百度,因为自己解决问题前忘记截图了) 解决方案:更换idea字体,点击apply按钮即可正常显示

2017-10-31 20:44:25 4881 2

原创 org.springframework.web.client.HttpClientErrorException: 400

异常如下:org.springframework.web.client.HttpClientErrorException: 400 at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91)解决方案:将SimpleClientH

2017-10-25 09:47:50 22448

原创 mybatis批量更新

MySQL没有提供直接的方法来实现批量更新,但可以使用case when语法来实现这个功能。UPDATE course SET name = CASE id WHEN 1 THEN ‘name1’ WHEN 2 THEN ‘name2’ WHEN 3 THEN ‘name3’ END, title = CASE

2017-09-19 11:43:29 495

原创 @jsonIgnore不生效

本人使用的是alibaba的fastjson,但是@JsonIgnore不是fastjson的,所以不生效, 将注解改为@JSONField(serialize = false),JSONField来自com.alibaba.fastjson.annotation包的,然后序列化的时候就生效了。成功忽略了属性。

2017-09-04 18:49:50 14943

原创 Failed to instantiate [org.springframework.data.domain.Pageable]: Specified class is an interface

Failed to instantiate [org.springframework.data.domain.Pageable]: Specified class is an interface 解决方案: 在controller层的spring配置文件中加入如下配置 <mvc:annotation-driven> <mvc:argument-resolvers>

2017-09-03 20:09:31 2671

原创 mockito单元测试demo

@RunWith(SpringJUnit4ClassRunner.class) // 整合@ContextConfiguration(locations = {"classpath:spring/application*.xml"}) // 加载配置@TransactionConfiguration(transactionManager = "transactionManager")@Tran

2017-08-21 22:08:29 1326

原创 Can't assign requested address

Exception in thread “main” java.lang.IllegalStateException: Can’t assign requested address at com.alibaba.dubbo.registry.multicast.MulticastRegistry.(MulticastRegistry.java:116) at com.alibab

2017-08-13 19:47:45 5087

原创 fatal: Cannot update paths and switch to branch 'master' at the same time.

fatal: Cannot update paths and switch to branch ‘refactor’ at the same time. Did you intend to checkout ‘origin/master’ which can not be resolved as commit?‘origin/master’ which can not be resolved as

2017-08-04 18:12:27 2559

原创 Redis is running in protected mode because protected mode is enab led

(error) DENIED Redis is running in protected mode because protected mode is enab led, no bind address was specified, no authentication password is requested to c lients. In this mode connections are

2017-04-27 11:36:03 1182

原创 linux下tomcat的war创建中文文件名乱码

本人在linux服务器的tomcat下部署一个war包项目,但是里面创建中文文件名文件一直乱码,经过多重测试后找到解决方案:需要在Tomcat启动的时候强制设置LC_ALL 环境变量 =zh_CN.UTF­8,同时设置上­Dfile.encoding=UTF­8,如下图是本人使用守护进程启动tomcat文件配置(daemon.sh); 如果不使用守护进程启动tomcat的,可以配置catalina

2017-03-30 19:28:04 16189 4

原创 Failed to create directory /home/tomcat/.dubbo!

Failed to create directory /home/tomcat/.dubbo

2017-03-30 14:19:25 6466

原创 boot2docker v17.03-ce 下载

window下安装docker时,发现使用快捷方式Docker Quickstart Terminal下载boot2docker.iso根本下不了(快捷方式如果不可用请浏览我的其他博客),使用了代理下下来了,分享给大家v17.03-ce版本: 百度链接地址:http://pan.baidu.com/s/1qYAVl7m 密码:rrse

2017-03-17 08:52:23 3646 1

原创 windows 正在查找bash.exe。如果想亲自查找文件,请点击“浏览”。

window7下安装DockerToolbox时,安装成功后,双击桌面的Docker Quickstart Terminal快捷方式,出现这样的提示,可以猜测到时快捷方式所指定的路径不对(因为本人在安装Docker前已经安装好git了,原因就出在这)。所以我们右键Docker Quickstart Terminal图标,选择属性,检查目标里面的内容是否能指向正确的文件,如果不是就修改一下(本人修改后

2017-03-15 08:58:29 14910 3

原创 VirtualBox is not installed. Please re-run the Toolbox Installer and try again.

VirtualBox is not installed. Please re-run the Toolbox Installer and try again. Looks like something went wrong in step ´Looking for vboxmanage.exe´… Press any key to continue… window7下安装docker并运行start.sh

2017-03-14 20:44:09 10112

原创 tomcat部署war包不成功解决方法

一、利用Tomcat自动部署(直接将项目扔到tomcat下的webapps下) 这种方式很简单,但今天我尝试时,本地服务器可以成功(tomcat不重启情况下添加war包可以自动部署),但是远程服务器失败。 想了想,决定使用控制台进行部署;(就是访问tomcat跟路径,比如localhost:8080/) 但是点击箭头部分时,需要输入账号名密码,点击取消,然后就跳转到如下页面: 这个页

2017-02-27 19:05:42 31320 4

原创 linux下 java 创建中文文件名乱码问题

原文地址:http://blog.csdn.net/youling_lh/article/details/9475519今天项目中遇到通过web上传文件到文件系统时,中文文件名乱码,一步步排查了http通讯过程中的编解码(通过utf-8)都没有发现问题。操作系统的默认字符集也是utf-8。 通过日志打印System.getProperty(“file.encoding”)也是utf-8码。。。。一时

2017-02-23 10:15:40 20960

原创 @PathVariable 中包含.等特殊字符异常

spring MVC从3.0开始支持REST,而主要就是通过@PathVariable来处理请求参数和路径的映射。 由于考虑到SEO的缘故,很多人喜欢把新闻的名称作为路径中的一部分去处理,这时候中文的名称就会遇到问题,没办法映射,这个是因为编码问题,只要到 TOMCAT/conf下找到server.xml,添加URIEncoding=”UTF-8”进行URL编码设置就可以解决中文问题。 另外经常

2017-02-17 20:10:55 5718

原创 JPA原生sql的查询结果注入到Java对象的坑

下面使用的是原生sql: 当PromoterVo不是entity而是简单的vo对象时,这个查询是不能执行的(大概是JPA不知道查询出来的属性应该怎样对应到java对象中吧)所以返回对象必须是与Entity类相关(Entity就是配置了Java类与数据库映射的Java类)

2017-02-16 16:53:14 11431 4

原创 spring的restTemplate注意点

spring的restTemplate可以向一个url发送请求并接收服务器端的响应信息。但在发请求时,会对请求的url值进行编码再发送。 下面看spring的RestTemplate的源码: restTemplate基本上发送请求的方法内部都会调用到execute()方法: expand()方法的代码如下: encode()方法的代码如下: 所以如果使用非spring的服务器接

2017-01-08 21:04:00 2742

原创 JDK7的try-with-resource方式的使用

如果使用传统try-catch-finally管理资源链接,代码可能是下面这样,finally代码远远多于业务代码。 为了增加代码可读性和可维护性,建议使用jdk7 提供的新特性try-with-resource(只能在表面上省去finally块关闭资源的逻辑): 即:try(资源定义){ 业务逻辑 } 其实这只是个语法糖,因为编译时编译器会自动帮

2017-01-03 08:42:18 8779 1

原创 idea工具下使用Java读取配置文件的方式

博主的application.properties的内容如下:#测试数据库连接信息test.db.url=jdbc:mysql://localhost:3306/xxxxtest.db.username=xxxxtest.db.password=xxxx#线上数据库连接信息online.db.url=jdbc:mysql://localhost:3306/xxxxonline.db.use

2016-12-19 14:21:51 7284

原创 Specified class is an interface

使用mockmvc在controller做测试时遇到如下exception:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to

2016-10-25 08:34:32 12183

原创 对象创建过程

虚拟机遇到一条new指令,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析过和初始化过。。如果没有,就必须先执行相应的类加载过程。。在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便可完全确定。为对象分配空间的任务等同于把一块确定大小的内存从Java堆中划分出来。假设Java堆中内存是绝对规整的,

2016-10-10 21:30:54 526

原创 运行时常量池

运行时常量池(Runtime Constant Pool) 是方法区的一部分。Class文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项信息是常量池(Constant Pool Table),用于存放编译器生成的各种字面量和符号引用,这部分内容将在类加载后进入方法区的运行时常量池中存放。运行时常量池相对于Class文件常量池的另外一个重要特征是具备动态性,Java语言并不要求常量一定只有

2016-10-10 20:33:05 647

原创 方法区

方法区与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。这个区域的回收目标主要是针对常量池的回收和对类型的卸载。根据Java虚拟机规范的规定,当方法区无法满足内存分配需求时,将抛出OutOfMemoryError异常。

2016-10-10 20:19:53 703

原创 Java堆

对于大多数应用来说,Java堆(Java Heap)是Java虚拟机所管理的内存中最大的一块.Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象,几乎所有的对象实例都在这里分配内存。Java堆是垃圾收集器管理的主要区域,因此很多时候也被称为“GC堆”(Garbage Collected Heap)。从内存回收的角度来看,由于现在收集器基本上都是采用分代收集

2016-10-09 21:49:32 2100 1

原创 本地方法栈

本地方法栈(Native Method Stack) 与虚拟机栈所发挥的作用非常相似,它们的区别不过是虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则为虚拟机使用到的Native方法服务。sun HotSpot虚拟机直接将本地方法栈和虚拟机栈合二为一。 与虚拟机栈一样,本地方法栈也会抛出StackOverflowError和OutOfMemoryError异常。

2016-10-09 21:32:09 2401

原创 Java虚拟机栈

和程序计数器一样,Java虚拟机栈也是线程私有的,它的生命周期和线程相同。虚拟机栈描述的是java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧(stack Frame)用于存放局部变量表、操作数栈、动态链接、方法出口等信息。每个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。局部变量表存放了编译期可知的各种基本数据类型(boolean、byte、char、sh

2016-10-09 21:26:06 686

原创 程序计数器简要介绍

程序计数器是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器,在虚拟机的概念模型里,字节码解析器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖这个计数器来完成。 由于Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)

2016-10-09 21:01:55 4255

springboot 官方文档pdf版

springboot 官方文档pdf版

2016-08-17

springmvc+spring+hibernate+json文件

springmvc+spring+hibernate+json,亲测可用。帮大家整理好的。

2016-05-30

json相关jar包

json相关jar包,json相关jar文件,将压缩包zip解压即可,亲测可用。

2016-05-30

powerdesigner破解文件

powerdesigner破解文件,16.5版本破解亲测可用。其他版本应该也没问题的。压缩包里面有用法。

2016-05-06

springmvc+spring+hibernate用到的jar包

springmvc+spring+hibernate用到的jar包,基本功能的jar包够用了。

2016-05-05

Java微信退款

该demo是本人测试过的,里面的坑爹的配置都已经在注释中说明位置,压缩包解压后就是web项目,jar包均可用,先看readme文件,根据文件进行操作应该没有问题的。有问题欢迎留言

2016-03-21

微信支付和退款

微信支付和退款,压缩包中包含了微信支付(java,.net,php版本)和微信退款的demo(java,c#,php版本)。

2016-01-04

微信支付demo(php和java版本)

微信支付demo,亲测可用。用于微信公众号的网页支付开发。(压缩包中包含php版本和Java版本)

2016-01-04

计算机网络A卷真题

2015计算机网络试卷真题,时高清的图片形式,值得参考。

2016-01-04

Java深度历险

Java深度历险,里面包含了类加载原理,字节码操作的重要内容。

2015-08-20

深入理解Java内存模型

深入理解Java内存模型,让你明白java内存的工作原理。

2015-08-20

深入剖析tomcat(中文版)

里面包含了tomcat源码和电子书和实例源码,深入剖析tomcat,带你了解tomcat的内部工作原理

2015-08-20

mybatis包和源码

mybatis压缩包,包含了mybatis的jar文件和mybatis源码。

2015-08-20

Linux私房菜

Linux私房菜,linux入门级别电子书

2015-08-20

jude建模软件

jude软件。麻雀虽小,五脏俱全,挺好用的。

2015-08-20

C语言数据结构

数据结构是编程中很重要的一部分,你掌握了吗?数据结构(2.0版),学习数据结构的必备书籍,

2015-06-22

程序员实用算法

算法是企业招聘必问的问题,你掌握了吗?程序员实用算法,学算法的好帮手.

2015-06-22

跟我学spring3

spring知识在企业招聘中基本上都会问到,跟我学spring3,研究spring3底层实现的好帮手.

2015-06-22

广工计组期末试卷加答案大全

广工计组期末试卷加答案大全,高分必备,有试卷,有答案,多方便.

2015-06-22

tomcat7.032源码

apache-tomcat-7.0.32-src.zip,tomcat源码,值得研究的好东西.

2015-06-22

深入剖析tomcat

深入剖析tomcat中文版,tomcat知识是面试很可能考到的内容,这本书值得你研究.

2015-06-22

mysql技术内幕innoDB存储引擎中文版

mysql技术内幕,innoDB存储引擎中文版,不错的资源.

2015-06-22

深入Java虚拟机第二版

深入Java虚拟机,招聘面试必备知识,你掌握了吗?

2015-06-22

javaEE6API

javaEE6英文版,很好用,支持一手资源,企业应用的法宝.

2015-06-22

xwork-2.1.2 源码

xwork-2.1.2 源码.里面还有一些jar包.

2015-05-24

解决myeclipse空格上屏问题

这个压缩包可以解决myeclipse空格上屏问题,找到 MyEclipse中该org.eclipse.jface.text.jar包的位置是:MyEclipse安装目录\Common\plugins 建议大家直接在此目录下搜索: org.eclipse.jface.text 然后用 rar压缩工具打开 打开文件夹\org\eclipse\jface\text\contentassist,压缩包里面也是这个路径, 然后将压缩包里面的CompletionProposalPopup.class复制到myeclipse里面, 这里要关闭你的 MyEclipse 否则会错误大功告成现在你可以打开你的MyEclipse 你会发现空格键变得如此之爽,想方便大家和一些没有积分的学习者,所以特地设置资源分为零。

2014-12-12

Java的API,但是有些英文。不影响阅读

这个文档是中文文档。无需面对英语压力。这份文档使用于Javaee初学者,如果是英语比较好的同学还是建议去阅读英文文档

2014-12-12

空空如也

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

TA关注的人

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