- 博客(31)
- 收藏
- 关注
原创 window如何在不重启的情况下使环境变量生效
针对windows来说,环境变量的修改通常都需要**重启电脑**后才能生效,那么如何才能在不重启电脑的情况下使修改生效?很简单,只需要利用Dos窗口就行了:1.win+r呼出运行栏,在其中输入cmd,然后点击确定2.在黑窗中通过set命令任意修改一个现有环境变量,比如:这样就可以触发环境变量的刷新,从而使得环境变量的修改生效。注:在黑窗中的参数修改只会在当前会话中生效,并不会去修改真正的环境变量。只会刷新环境变量。...
2020-07-14 14:56:49
1188
原创 OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443问题解决
使用git提交代码到github时出现OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443报错。多次尝试之后发现是代理的问题,所以执行命令,禁用代理配置即可(因为我使用的是https请求,所以取消https代理即可):git --config --unset https.proxy如果是http...
2020-02-16 22:41:14
33004
9
原创 unnecessary Mockito stubbings » UnnecessaryStubbing问题解决
这个问题是Junit提示我们在测试用例中存在没有用到的方法打桩。这个时候我们就需要对报错的测试用例进行检查,确认执行流程是否是按照我们预期进行的。如果是没有走到目标分支导致的,那么就需要改逻辑,否则就需要删除无用的打桩。...
2019-12-03 09:35:34
9235
原创 bash: hexo: command not found问题解决
问题背景:在使用命令npm install -g hexo安装好hexo后,运行命令hexo v提示bash: hexo: command not found,这让我很是郁闷,最终发现原来是3.x版本的hexo需要自己手动安装server模块所以导致我们装好cli之后还是无法正常使用。对此,我们需要运行以下命令:npm install hexo-server --save...
2019-11-19 21:00:16
2746
2
原创 lambda表达式实践
1.环绕执行模式所谓环绕执行模式,指的是每个可用的业务代码都会包含很多重复的周边代码,比如如果是执行资源处理的话,出去有用的业务代码外,常常需要我们去书写资源打开/关闭(清理)的代码,几乎每次操作都是需要的。针对具备环绕执行模式特点的代码,我们可以把业务代码(具体行为)参数化,用一个函数式接口代替,这样就能大大减少代码重复。下面是一个环绕执行模式的例子:/***环绕模式例子*/...
2019-07-10 22:40:04
196
原创 单例模式学习
1.什么是单例模式单例模式(singleton pattern)官方说明是:Ensure a class has only one instance, and provide a global point of access to it翻译过来就是一个类只能有一个实例(实例化一次),并且需要自身提供可供全局访问的实例(自己实例化自身)。使用了单例模式的类通常称为单例类,...
2019-06-28 13:02:22
134
原创 记一次mysql主从关系修复过程
1.故事背景今天在使用sharding时,突然发现sharding服务居然启动不起来了。只好去查看日志,查看日志后发现报错信息为从库无法连接。然后,就开始对比主从库的结构,然后发现主从库结构已经不一致了,然后手动执行建库sql后,从库也无法同步,所以只好查看下从库的状态。利用mysql客户端连接从库,然后执行show slave status\G命令后错误内容如下: Re...
2019-06-14 17:33:30
662
原创 java8学习-流入门
1.定义流指的是一系列的数据项,每次只处理一项。所谓流处理是指从输入流中一个一个的读取数据,然后再写入到输出流中。2.java体现在java8中我们可以通过stream接口来实现流处理。当然,stream的主要作用对象是java的集合,在java中,它可以被当成是一个遍历数据集的高级迭代器。下面是一个简单的例子,以比较流和传统表达式的区别:package java8...
2019-06-02 21:50:06
155
原创 sharding学习-参数解析
1.在解析配置文件之前,需要先说说sharding是如何去扫描配置文件的。在源码中,是通过这个方法去扫描的配置文件:private File[] findRuleConfigurationFiles(final File path) { return path.listFiles(new FileFilter() { @...
2019-05-17 17:53:14
2684
原创 mysql中的CST时区问题
在项目操作过程发现了一个时区的问题,问题现象为sql打印的时间和数据库里面存储的时间不一样。后来发现问题原因为mysql的时区为CST。网上搜索了下CST时区,才发现这个时区已经被诟病已久。它居然能够表示四种时区,分别为:1.美国中部时间 Central Standard Time (USA) UTC-06:002.澳大利亚中部时间 Central Standard Time (Austr...
2019-04-09 17:35:55
22480
1
原创 java注解
1.注解Java1.5之后,出现了注解(annotation)。注解本身是一个类,用于对类中的元素进行修饰,然后编译器(javac),开发工具或其他程序可以通过注解来对类元素进行特定的操作。2.元注解定义注解的注解称为元注解。用于修饰注解,常见的元注解有:@Target, @Retention@Target:用于说明注解在什么地方起作用。可选值如下:Publicenum Ele...
2019-02-14 09:49:28
270
原创 websocket简介及和socket对比
1.什么是websocket是一种网络通信协议,是html5开放出来的双工通信协议(服务端和客户端随便通信,不像http协议只能客户端去请求服务端,然后服务端把信息返回)2.websocket和socket的区别是什么1)socket是一个工作在OSI模型会话层(第5层)的抽象层。是对TCP/IP协议族的一个封装(目的是方便程序员的使用),它是一个API(使用TCP/IP协议的接口)。...
2019-01-22 17:41:34
3314
2
原创 spring Bean作用域
1.spring上下文管理的bean默认都是单例的(全局范围),也就是说一个bean无论被注入对少次,注入的实例都是一样的。这样操作效率很高,但是会有安全问题。2.spring提供自定义作用域,bean的四大作用域为:1)单例(application),整个应用上下文中只创建一个实例。然后到处注入。2)原型(prototype),每次获取(注入)bean,spring都会创建一个新的b...
2019-01-07 14:30:45
168
原创 spring boot项目打包
1.三种常见的部署方式1)搞成groovy源码,需要手写产生,可以部署于Cloud Foundry(paas服务/云环境)上和容器中(docker)2)搞成jar包,可以由maven、gradle或者是spring boot CLI搞,出了不能往java应用服务器(tomcat等)中部署以外其他地方基本上都可以部署3)搞成war包,可以由maven或者是gradle搞,可以往云环境和j...
2018-12-18 17:22:07
262
原创 redis学习-redis基本数据结构
1.字符串是redis中最简单的数据类型,通常用于缓存用户信息。key为userId,value为对象信息(以json字符串存储,存储时需要把user对象json序列化)redis的字符串是动态字符串(类似于动态数组),采用空间预分配的形式来减少内存扩充次数。当字符串大小超过1M时,扩容都是翻倍的扩。支持的操作:1)单条读写:redis语法: set key value...
2018-12-11 21:35:40
358
原创 [Err] 1136 - Column count doesn't match value count at row 1问题记录
问题直译为列数和值的数目无法对应。出现的场景为:insert into table values('','','',''),也就是在没有列出插入字段的情况下直接插入。这个情况的话需要保证value的数目和表字段的字段数对应起来,否则就会报错。所以,遇到这个错误时,就需要数一数值的个数和表的字段数是不是一致,然后让它们一致即可。...
2018-11-23 15:34:09
12947
原创 责任链模式
1.定义一个对象在一条链上被多个拦截器拦截处理(当然,可能只会拦截,不会处理)的设计模式称为责任链模式。该模式是一个对象在多个角色中传递的过程。类似于流程审批,申请单被级级审核。2.构成对象+拦截器3.例子由于责任链模式由多个拦截器组成,所以现在先让我们来撸3个拦截器: /** * 一号拦截器 */public class ResponsibilityI...
2018-11-22 16:32:38
112
原创 java动态代理(jdk动态代理和CGLIB动态代理)
1.什么是代理根据原有对象生成一个占位(代理对象),然后由代理对象来代理真实对象,控制对真实对象的访问的操作就叫做代理。2.代理的必要步骤1)让代理对象和真实对象建立联系(建立关系的过程会生成代理对象,基于java反射)2)实现代理对象的代理逻辑方法3.代理的作用(好处)4.常用的代理技术有哪些1)JDK动态代理2)CGLIB动态代理5.JDK动态代理1)代...
2018-11-19 21:18:34
999
原创 mysql日期格式化(date和varchar相互转换)
1.date类型装换为varchar类型使用date_format函数进行转换,使用方式为Date_format(col,pattern)col为需要格式化的字段,pattern为转换的格式,格式参照总的格式表其中最常用的xxxx-xx-xx xx:xx:xx的格式根据格式表,需要写为:%Y-%m-%d %H:%i:%s,也就是: DATE_FORMAT(xxx,'%Y...
2018-11-13 19:40:27
34423
原创 mybatis和hibernate比较
相同点1.都是对象关系映射(Object Relational Mapping)框架,体现为都提供实体类和数据库表相互映射的功能。2.业务逻辑代码层面的操作基本一致。区别1.hibernate设计理念是完全面向POJO(Plain Ordinary Java Object)的,所以使用者可以基本不用书写sql就能通过配置的映射关系完成数据库操作,但是mybatis不一样,他需要我们...
2018-11-12 20:31:08
6597
原创 java远程调试(介绍两种发布方式)
1.jar包启动时java -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n -jar demo.jar--jdk1.7之后java -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -jar demo.jar--jd...
2018-10-16 16:04:38
831
原创 tomcat发布应用的三种方式
1.直接发布,也就是把需要发布的应用直接copy到tomcat的webapp下即可。2.通过修改conf下的server.xml文件的host标签中添加配置来实现发布,此时应用可以放在磁盘任意位置,配置如下:<Context path="/访问上下文" docBase="应用所在的具体路径" debug="0" privileged="true" > </Contex...
2018-10-09 18:53:50
1394
原创 在新打开的页面上输出html标签
js代码:var win=window.open('about:blank');//打开一个空页面,open会返回窗体对象win.document.write("html标签内容");//通过返回的窗体对象来写html标签这样就能在新打开的页面输出html标签了(直接open一个新的html页面)。...
2018-10-08 10:25:46
1014
1
原创 在spring boot中使用redis(一):集成redis
在考虑如何集成redis之前,首先需要确保你拥有一个已经安装好的redis环境。1.redis环境安装(Linux版本)由于redis官方只支持Linux环境,所以如果你想安装官方版本,那么你就需要准备一台安装了Linux系统的服务器(虚拟机)。redis安装包下载地址:http://download.redis.io/releases/下载好安装包后,就可以把安装包放到Lin...
2018-09-26 15:40:37
345
原创 关于spring boot的组件扫描
在spring boot中,自动扫描会把整个包都隐式的注册为bean(注册到spring中),即使你类上面没有任何组件注解(扫描单包时起效)。这样操作的话,在自动装配的时候代码会报错,但是不影响程序的使用。比如@MapperScan,@ComponentScan....
2018-09-20 09:56:33
545
原创 ORA-12541: TNS无监听程序错误问题记录
问题原因通常有两个可能:1.连接工具oci有问题。2.目标服务器的监听服务未启动或者配置不正确。
2018-09-18 10:10:44
3693
原创 spring boot学习笔记(从0开始)之集成mybatis+mybatis3.X使用
1.spring boot集成mybatis(注解版)第一步<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1....
2018-09-15 15:28:16
138
原创 连接池配置记录
1.testOnBorrow(boolean值)当为false时(默认),不会对连接池里面的连接进行可用性检测,也就是即使连接不可用,也不会废除连接并重新创建连接。为true时,在使用连接池连接时会检测可用性,不可用就重新建立连接放到连接池中。注:这个设置会额外消耗服务器资源,可能会导致服务不稳定。...
2018-09-13 11:38:14
105
原创 spring boot学习笔记(从0开始)之项目搭建、MongoDB集成、druid集成
1.搭建spring boot项目这个过程很简单,只需要去spring官网选择相应版本直接下载即可。2.向ide工具中导入项目针对idea,只需要把本地项目当做maven项目导入即可然后一路next即可。3.spring boot集成MongoDB第一步:<dependency> <groupId>org.springframew...
2018-09-10 19:53:18
4264
原创 idea常用快捷键记录(默认)
常用操作记录(自己用到过的)Double Shift 根据文本搜索文本的位置(可以是方法,可以是文件,可以是变量),甚至可以搜索文件夹下包含的内容Ctrl+Shift+N 根据文件名称搜索文件Ctrl+E 打开最近访问文件列表Alt+F7 查看某个方法被哪些类所引用Ctrl+F 在本页查找文本的位置Ctrl+Shift+F 全局搜索文本Ctrl+Shift+U 文本大小...
2018-09-10 11:06:57
135
原创 SSM注解事务不生效原因
对于SSM框架,spring和springMVC都会对注解进行扫描。而且spring扫描的对象会先注入,springMVC扫描的对象会后注入,后注入的对象会覆盖先注入的对象。所以可能出现在spring里面配置了注解扫描和开启事务控制,在springMVC配置文件里面也开启了注解扫描但是没有开启事务控制,最后注解事务不生效的情况。这个就是由后注入的对象是没有开启事务控制的子对象导致的。还有种情况是注...
2018-09-05 19:08:11
1556
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人