- 博客(138)
- 资源 (3)
- 收藏
- 关注
原创 【Java基础】Java如何正确判断字符串是否为空
对于null和空字符串,isEmpty() 和 isBlank() 效果是一样的对于全部是空格或者制表符等不可见字符的字符串,isEmpty判断为fasle, isBlank判断为true。
2024-02-07 15:05:39
465
1
原创 Docker初体验(二)- docker进阶篇 - 查看日志&清理容器
#Docker初体验 第二篇,介绍了docker运气起来之后的事情,查看日志,停止容器,查看容器状态,清理容器等
2022-02-22 20:06:50
704
原创 Docker初体验(一)- docker安装运行篇
#docker入门,本文从实践中总结而来,介绍了如何在没法上互联网的情况下安装docker到linux服务器,如何打包,上传,运行起来
2022-02-22 19:51:50
875
原创 异步方法@Async报错的问题: Null return value from advice
下午遇到一个奇怪的问题总结就一下就是使用@Async 异步执行的方法,如果有返回值,返回值不要用原始数据类型(比如int),最好使用包装类(比如Integer)因为使用原始类型的话,会报错org.springframework.aop.AopInvocationException: Null return value from advice does not match primitive return type for: public abstract int cn.xxx.xxx.entry.s
2021-06-22 19:40:47
1802
原创 @ConditionalOnBean和@ConditionalOnProperty不可以同时使用
如题同时使用的话,会导致这个bean直接加载不起来
2021-03-30 22:36:27
984
1
原创 Java使用MongoDB查询
在查询MongoDB的时候,遇到一种场景在同一个表中,某些数据的某个字段可能不存在,也可能存在并有值。那么:筛选出字段tag不存在,或者tag存在并且小于等于1的数据代码如下:int type = 1;Criteria criteria= new Criteria();Criteria criteria1 = new Criteria();// 也有资料写 criteria1.where("tag").exists(false); 实测不生效,以下写法实测可行criteria1.and(.
2020-05-22 20:31:36
624
原创 grpc-swagger 使用手册
文章目录grpc-swagger是干啥的?怎么用?grpc-swagger是干啥的?是一个通过反射机制, 无侵入的可以让你在本地通过http方式请求你的grpc方法,简单来说是是个grpc本地调试工具。怎么用?从gitbub上下载源代码,然后编译,目的是获取 grpc-swagger-web项目target目录下的可执行jar包:grpc-swagger.jar (也可能带版本号grpc...
2020-04-24 14:28:03
2490
原创 Java高级特性: try-with-resource
try-with-resource语法介绍新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入语法介绍我们在使用...
2020-03-30 19:34:13
688
原创 Elasticsearch使用jcseg分词插件遇到的高亮highlight问题
Elasticsearch使用jcseg分词插件遇到的高亮highlight问题问题描述解决办法问题描述在使用jcseg分词插件,并且需要高亮关键词的时候遇到es查询报错:invalid token offsets exception : Token 11月 15日 exceeds length of provided text sized 14问题是这样的:现在发现分词会将“11月15...
2018-12-04 20:49:00
1321
1
原创 使用jedis时设置过期时间的问题
public void saveRedis(String key, String value, Long expireSecond) { boolean keyExist = jedisCluster.exists(key); // NX是不存在时才set, XX是存在时才set, EX是秒,PX是毫秒 if (keyExist) { jedisCluster
2017-11-06 14:37:18
43678
原创 关于ORA-00979 不是 GROUP BY 表达式错误的解释:
select 列表项中不存在的列可以出现在group by的列表项中,但反过来就不行了,在select列表项中出现的列必须全部出现在group by后面(聚合函数除外)
2017-04-11 15:13:55
5750
原创 利用反射创建对象
/* * 通过反射创建带参数的对象 */ public Object Creatobject(String ClassPath, Object[] Params) throws Exception { Class<?> demo = null; Object obj = null; demo = Class.forName(
2017-02-28 15:47:30
815
原创 Maven配置中scope说明
maven依赖一般格式如下: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <scope>provided</scope> <version>1.0.2<
2017-02-23 20:58:02
1260
原创 disconf源码解读(1)
使用disconf的时候,需要在classpath中添加一个配置文件:disconf.properties# 是否使用远程配置文件 # true(默认)会从远程获取配置 false则直接获取本地配置 disconf.enable.remote.conf=true# 配置服务器的 HOST,用逗号分隔(动态配置服务器地址) 127.0.0.1:8000,127.0.0.1:8000 discon
2017-02-23 20:48:40
2181
原创 maven exclusion写法
maven引用包冲突的时候,使用exclusion的方式解决: 以下为示例:<!-- apache shiro 相关jar包 --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <vers
2017-02-23 09:41:34
9691
原创 数据库范式
范式:Normal Form (NF) 第一范式-1NF:列的原子性,即列不能再拆分,一个列只表示一个意思。 第二范式-2NF:首先满足1NF,然后,所有的非主键必须完全依赖主键,而不能只依赖主键的一部分。 第三范式-3NF:首先满足2NF,然后所有的非主键必须直接依赖主键,而不能传递依赖。 修正的第三范式-BCNF:
2017-02-17 18:26:04
765
原创 Mybatis高级应用-嵌套查询association和collection
Mybatis高级应用-嵌套查询 1. 关联-association 2. 集合-collection本文示例领域模型: 订单:订单编号、顾客编号,总金额 顾客:顾客编号、顾客姓名、顾客手机号 货物:货物编号、货物名称、货物单价 订单详情:订单、货物列表、货物总数量接口:OrderDetail getOrderDetail(String orderNo); 获取订单详情信息,其中订单
2017-02-16 19:15:14
20672
4
原创 Spring MVC获取所有注册的url
本文的目的是获取所有通过requestMapping注册的url @RequestMapping("getAllUrl") @ResponseBody public Set<String> getAllUrl(HttpServletRequest request) { Set<String>
2017-01-05 09:51:52
5158
1
原创 在log4j中输出sql
在log4j中,配置 <!-- 在开发和测试环境启用,输出sql --> <logger name="com.sf.sgs.smp.dao.mapper" additivity="true"> <level value="DEBUG"/> </logger>这样就可以将sql语句打印出来,其中name为要指定的包。该包及其之内包含的包,都将以debug级别输出日
2016-12-28 18:09:26
2196
原创 java枚举类enum的使用
使用有构造方法的枚举类型的时候,通常可能会用到valueOf()方法,根据枚举类型,获取枚举类型的值,比如 String str = MonitorTarget.valueOf(GWCALLCOUNT);,然后得到str的值是"网关:访问量"。 valueOf()这个方法是枚举类型隐含自带的,通常也可以Override覆盖 toString方法来完成通过枚举类型获取值的功能。然而有的情况下还需要
2016-12-07 09:19:34
680
原创 原生javascript实现getUrlParam
页面t.html<body onload="onLoad()"> <p name="message">p=</p></body><script type="text/javascript">function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标
2016-12-06 08:59:31
6934
原创 原生javascript实现addClass和removeClass
addClass()和removeClass()是jQuery提供的功能。 用法: $(selector).addClass(classname);和$(selector).removeClass(classname);在大多数情况下,使用jquery的选择器选择的元素是可以使用这两个方法来追加和删除class属性的,但是有一些特殊情况,不是通过$()选择器及jQuery其他方法(比如paren
2016-11-19 18:58:47
3755
原创 复选框已有属性checked="checked",却不显示勾的解决办法
使用$(#id).attr('checked', true);和$(#id).attr('checked', false);来控制复选框的选中和取消的时候,第一遍加上和取消勾是正常的,第二遍的时候,可以加上checked=”checked”属性,但是却不显示打勾。解决办法是,使用$(#id).prop('checked', true);和$(#id).prop('checked', false);来
2016-11-17 16:10:43
2956
原创 Restful接口传入多参数的问题和解决方案
结论: restful风格的接口不支持多个参数 注:本文指的是通过json序列化参数的情况前置解决方法:1.封装对象2.使用@PathVariable3.改变序列化格式,不使用json,使用form
2016-11-09 11:10:26
82808
原创 批处理脚本重启资源管理器
将以下代码写入文本文件,然后改后缀名为.bat,然后就可以执行了。执行过程是: 1.杀掉资源管理器,explorer.exe进程 2.等待5秒 3.启动explorer.exetaskkill -f -im explorer.exeping -n 5 127.0.0.1>nulexplorer.exe
2016-11-02 11:04:57
5235
1
原创 一个有趣的java面试题
题目 在下面代码if后的括号中填空,要求程序输输出“ab”public class Test { public static void main(String[] args) { if () { System.out.println("a"); } else { System.out.println("b");
2016-11-01 20:44:52
2798
原创 maven常用命令
mvn versions:set -DnewVersion=1.0.1 mvn clean source:jar package deploy -Dmaven.test.skip=true mvn versions:revert mvn versions:commit
2016-10-08 15:15:26
457
原创 获取复选框的值
<title>JavaScript 获取复选框的值</title><script>function checkbox(){var str=document.getElementsByName("box");var objarray=str.length;var chestr="";for (i=0;i<objarray;i++){ if(str[i].checked == tru
2016-09-05 15:01:58
557
原创 为Bootstrap Modal(模态框)全局添加拖拽操作
在js中绑定方法$(document).on("show.bs.modal", ".modal", function(){ $(this).draggable({// handle: ".modal-header" // 只能点击头部拖动 }); $(this).css("overflow", "hidden"); // 防止出现滚动条,出现的话,你会把滚
2016-08-30 22:58:29
16266
原创 一个奇怪的SQL问题:case when 在记录不存在时不生效
问题描述: 要查询复合条件的某条记录中某个字段的值,复合条件的记录不存在 然后在select中写了 case when 这个字段 is null then 0 else 这个字段 end,如下第一种写法 然后查到的结果依然是null- 解决方法: 在select语句后加上了一个 count(1),这样才达到了目的,记录不存在时返回0,如下第二种写法第一种写法SELEC
2016-08-27 17:56:06
8489
1
原创 Html元素的Id终不能包含点
Html的Id不能使用‘_’<div id="qw_e" />1<div id="qw.e" />2<div id="qw e" />3这三种id的写法,很明显第三种是不对的,因为id不能以空格分隔。 需要注意的是,第一种写法也是不行的。 使用jquery的选择器时 $("#qw_e") 1$("#qw.e") 2$("#qw e") 3只有第二种是可以拿到正确的div。
2016-08-22 22:56:20
1895
原创 setInterval和setTimeout
setInterval(func, 1000) 在1000毫秒后,每隔1000毫秒执行1次 setInterval(func(), 1000) 在1000毫秒后执行1次 setTimeout,两种方式一样,都是只执行一次测试代码<!DOCTYPE html><html><head> <title>111</title></head><body>111''\'+ AaA +','
2016-08-12 11:14:37
453
原创 为模态对话框添加拖拽
(document).ready(function() { //为模态对话框添加拖拽(document).ready(function() { //为模态对话框添加拖拽 (“.modal-dialog”).draggable(); //为模态对话框添加拖拽,拖拽区域只在顶部栏 (“.modal−dialog”).draggable(handl
2016-08-10 11:39:47
937
原创 Java反射应用
public class Box { private int height; private int weight; private int width; /** * @param height * @param weight * @param width */ public Box(int height, int weight
2016-07-12 16:58:21
408
原创 Nginx五种负载均衡模式
1.roundrobin:轮询方式2.weight:根据权重来分发请求到不同的机器中3.ip_hash:根据请求者ip的hash值将请求发送到后台服务器中4.url_hash:根据请求url的hash值将请求发送到后台服务器中5.fair:根据响应时间
2016-04-19 16:47:42
5382
原创 redis哨兵切换问题
redis哨兵sentinel切换主备的时候可能失败,失败的原因可能是在某一个哨兵中没有配置用户名和密码 masterauth admin123
2016-04-14 18:09:14
1927
原创 Mybatis Generator 生成的mapper只有insert方法
– Mybatis Generator 生成的mapper只有insert方法 – 首先检查generatorConfig.xml中table项中的属性 enableSelectByPrimaryKey=”true” enableUpdateByPrimaryKey=”true” enableDeleteByPrimaryKey=”true” 看看这几个属性
2016-04-06 20:13:20
13155
1
原创 Linux Net I/O
概念内核态与用户态进程切换进程状态-阻塞文件描述符、文件句柄进程和线程阻塞和非阻塞同步和异步内核空间与用户空间操作系统和应用程序运行都需要内存,操作系统运行使用的内存是不允许应用程序使用的,这部分内存叫做内核内存。操作系统的内心是内核,为了安全,操作系统的内核内存只允许操作系统访问。 32位操作系统的内存寻址空间最大为2^32,也就是4GB,从0x00000000 到 0xFFFF
2016-03-31 16:20:32
2725
原创 tar命令简介-常用功能
tar命令是linux中非常实用的一个命令,是非常基础以及常用的。 本文只做非常简单和常用命令的介绍。如果需要了解完整用法,可以在linux终端中输入man tar或者tar --useage或者tar --help。tar命令一定要指定参数才能正确执行。tar命令的语法 tar [options][files] 例如: - tar cvf a.tar 1.txt 2.txt , 将1.tx
2016-03-24 22:08:17
3147
最简单的SpringMVC框架(使用maven)
2014-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人