字符串分割,属于比较常见的case了,在实际开发中,相信很多小伙伴会借助common-lang
工具包中的StringUtils
来实现,使用姿势也很简单
1 | String[] ans = StringUtils.split("a,b,c", ","); |
一般来讲上面这种使用方式没有问题,但是当分隔符前后为空时,需要特别注意,可能会和你预期的返回不一致
字符串分割,属于比较常见的case了,在实际开发中,相信很多小伙伴会借助common-lang
工具包中的StringUtils
来实现,使用姿势也很简单
1 | String[] ans = StringUtils.split("a,b,c", ","); |
一般来讲上面这种使用方式没有问题,但是当分隔符前后为空时,需要特别注意,可能会和你预期的返回不一致
实际业务开发中偶尔会遇到判断一个对象是否为基本数据类型,除了我们自老老实实的自己写之外,也可以借助Spring的 BeanUtils 工具类来实现
1 | // Java基本数据类型及包装类型判断 |
ssh私钥权限问题,导致登录服务器时,提示异常
1 | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
解决这个问题的一个手段是将它的权限设置为700
1 | chmod -R 700 .ssh/ |
Resin是CAUCHO公司(http://www.caucho.com/)的产品,是一个非常流行的支持servlets 和jsp的引擎,速度非常快。Resin本身包含了一个支持HTTP/1.1的WEB服务器。虽然它可以显示动态内容,但是它显示静态内容的能力也非常强,速度直逼APACHE SERVER
简单把resin理解为一个类似tomcat的web服务器就好,下面介绍一下IDEA如何配置resin,从而快速启动
本文记录一下将jar上传到maven中央仓库的全过程,文中项目依托在github上,使用的是mac环境 (关于maven、jdk的环境配置不属于本文内容)
做一个简单的如下的连表查询,居然直接提示错误,居然是字符集不一致的问题,本文记录一下mysql的字符集类型,以及下面这个问题的解决方案
1 | select a.id, b.id from tt as a, t2 as b where a.xx = b.xx |
android studio 4.1 禁用一个插件之后重启,结果发现应用都起不来了,直接报了一个错误
这就有点尴尬了,禁用一个插件直接导致不可用,那么能想到的解决办法就是将这个插件启用,问题是应用都跪了,怎么启用插件呢?
主要记录广告运营推广的一些专业词汇,用于记录,原文请点击: 广告运营推广专业词汇ROI,CPC,CPM,CTR,CPI,CPS,DAU,ARPU,ECPM等等
文件迭代遍历,如下
1 | function read_file() { |
mac chrome插件默认存储位置为
1 | ~/Library/Application Support/Google/Chrome/Default/Extensions |
借助开发模式,可以导出一些好用的插件分享给其他小伙伴
借助LinkedHashMap飞速实现一个LRU算法的缓存
1 | import java.util.LinkedHashMap; |
源码: https://github.com/rabbitmq/rabbitmq-delayed-message-exchange
下载二进制的插件,如3.8.0下载地址: https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/tag/v3.8.0
将下载的ez
包,放在插件目录下,一般centos的查检目录放在/usr/lib/rabbitmq/lib/rabbitmq_server-xxx/plugins
如果不知道具体在什么地方,可以通过进程查看
拷贝完毕之后,启用插件
1 | rabbitmq-plugins enable rabbitmq_delayed_message_exchange |
接着重启一下rabbit
1 | service rabbit-server restart |
Js使用base64编解码主要借助btoa
与atob
两个方法,但使用时需要注意,它们并不支持非ascii码转码
1 | > b = btoa("hello world") |
今天写个python爬虫时,发现一个有意思的问题,因为不同的目标网站的编码可能并不一样,所以再进行文本解析时,直接使用response.charset
返回的编码格式进行处理文本,结果出现了上面这个问题,解决方法也比较简单,改用gbk
即可
1 | fp = open(file, 'r', encoding='gb2312') |
Android开发过程中,偶遇一个webview与android通信的问题,提示A WebView method was called on thread 'JavaBridge'. All webview methods must be called...
这个问题发现Android 9以上会出现,解决方法是@JavascriptInterface
注解的方法必须指定在UI线程执行,将原来方法里的代码放入run里面执行即可
如下
1 | // 注意这个activity就是webview所在的activity |
遇到一个实际的场景,需要针对某个目录下的所有文件进行统一规则的重命名,使用shell脚本是一个比较好的选择,此外python也可以快速的实现
下面介绍一下核心代码
1 | import os |
查看与修改mysql的最大连接数命令如下
1 | -- 查看最大连接数 |
python内置了一个非常简单的服务器,可以用来实现简单的http通信
如python3 启动服务器命令
1 | # 默认端口号为8000 |
如果是python2,需要启动服务器,可以使用命令
1 | python -m SimpleHTTPServer 9000 |
关于Json序列化的框架可以说比较多了,比如Spring默认的Jackson,国内互联网用的比较多的FastJson,本文则主要介绍一下Gson的简单使用姿势,并不会涉及到不同的json框架的性能对比
本文主要内容来源于官方教程: https://github.com/google/gson/blob/master/UserGuide.md
Update your browser to view this website correctly. Update my browser now