MySQL 默认的 UTF8 格式是不支持表情存储的,但是从版本 5.5 开始支持的 UTF8MB4 可以存储。所以如果已经是新版 MySQL 那么执行一条 SQL 改一下存储编码就直接解决了,算是最快捷的解决方案了。
阅读全文分类: Java
七牛云 CDN 历史图片批量压缩
背景 最近七牛云 CDN 的流量有点吃不消了,后台看了下统计,发现有好多图片文件特别大,最大的单个文件能到 10M 多 。所以就想做一下图片瘦身处理,官方自带的瘦身试了下效果一般,所以就不如自动动手了。 处理方式
阅读全文Java WebDriver PhantomJS 启动异常
直接看异常吧: org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. Build info:
阅读全文关于 MetaSpace 及 FastJSON 导致的 OOM
在 JDK8 之前,虚拟机内存主要分为堆和非堆两部分,堆中划分新生代老生代,非堆中包含所有非对象信息和运行时信息,其中有一块叫 PermGen,用以保存字节码等类信息。在 JDK8 中取消了这块内存,并添加了 MetaSpace 替代所有功能。
阅读全文Lucene7.3.1 依赖 spatial3d 建立 GEO 索引
Lucene是一款高性能的、可扩展的信息检索(IR)工具库。信息检索是指文档搜索、文档内信息搜索或者文档相关的元数据搜索等操作。
阅读全文基于 JavaCC 生成权限校验语法表达式解析器
JavaCC 是 Java 语言范围内最受欢迎的语法分析生成器,可以读取特定语法写好的范式并把它转换成可以识别且匹配该语法的 JAVA 程序,除了 javacc 也有配套的 JJTree 生成语法树,JJDoc 生成 BNF 范式文档等。
阅读全文状态机在开发中的应用
简介 我们开发过程中会有各种不同状态,围绕这些状态之间的转换方式会有很多业务逻辑,依赖这些状态又会有更多的业务逻辑,如果这些逻辑代码不使用状态模式进行归类统一,会以各种难以理解和难以修改的方式存在各个
阅读全文基于 ByteBuddy 运行时动态修改字节码
简介 Byte Buddy 是一个字节码生成与操作库。它无需编译器,能够在Java程序运行时创建与修改 class 文件。 目标 已有类文件: public static class Log { public static void log(String a) { System.out.println(“L
阅读全文JVM 类加载器应用之多版本库支持
问题 开发过程中,咱们经常需要使用不同的库版本,而这些版本又不是向后兼容的,或者出于某种原因需要支持同一库的多个版本。 在这种情况下,默认的类加载器已经是不支持了,因为 loadClass 方法只加载一次特定的类
阅读全文jBrowserDriver + aShot 实现网页后台截屏
依赖简介 jBrowserDriver 是一个纯 Java 的基于 WebKit 的无图形化嵌入式浏览器,可以用于 Web 页面的流程自动化,网页爬虫、页面测试等各种场景。 aShot 是一个功能强大的跨平台 WebDriver 截图工具,详细功能可以
阅读全文