07 2022 档案
摘要:Discourse 的头部链接是没有办法自定义的,我们使用下面的这个插件来进行配置 可以从 Git 代码仓库中进行安装,有关这个插件的官方讨论地址为:Custom Header Links - theme-component - Discourse Meta 我们 Fork 了这个插件:Fork 后
阅读全文
摘要:当前公司因为设计上的问题广泛使用了 Protocol buffers。 在使用的过程中发现了很多 Protocol buffers 的使用问题和滥用,一个好端端的工具被用成这样也是比较郁闷。 下面就对使用中的问题进行一些小的总结。 Protocol buffers 用意 Protocol buffe
阅读全文
摘要:JVM 是 Java 的精髓部分之一。 Java 最开始是怎么来的?其实是从 C++ 上过来的,所以 Java 上面很多的面向对象特性都有 C++ 的影子。 C/C++ 最受诟病的是什么,就是指针,经常性的内存溢出。Java 说,算了,我们做个东西没有指针吧,这样程序就不会因为内存溢出而挂起退出了。
阅读全文
摘要:在进行一次编译的时候,提示下面的错误信息: java: java.lang.ClassNotFoundException: org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor 问题和解决 如果你对 Hibernate 的元数据还是不非常了解的话
阅读全文
摘要:提示的错误信息如下: D:\WorkDir\USRealEstate\Source-Code\Common\common\src\test\java\com\ossez\common\tests\ConfTest.java:28:9 java: cannot find symbol symbol:
阅读全文
摘要:对使用 lombok 还是有很多争议的,有些公司不建议使用,有些公司又大量使用。 我们的想法是:可以使用,但是不要滥用。 什么是 lombok Lombok是 一种Java™实用工具,可用来帮助开发人员消除Java的冗长代码,尤其是对于简单的Java对象(POJO) 。 它通过注释实现这一目的。 通
阅读全文
摘要:HTTPS 是现在网站的标配了,很多服务都是必须使用 https,如果你不使用的话,浏览器可能就不会对你非常友好了。 如果你不想使用商业的 CA 秘钥的话,你可以使用 Let’s Encrypt 来进行加密。 使用 Let’s Encrypt 唯一不好的地方就是每 3 个月要更新一次,当然你也可以使
阅读全文
摘要:正如我们在上面文章提到的内容,在英文语境中上面 2 个方法还是有区别的,在中文环境下主要表达就是字符串压缩。 JDK 6 使用的压缩字符串方法,主要原因是我们修改了 String 的存储结构,char[] 在 Java 的很多地方都会用到,并且 String 因为这个修改就只能接受使用 char[]
阅读全文
摘要:从 Java 9 开始,JDK 开始引入了一个叫做 缩小字符串( Compact String)。 在中文语境下,压缩和缩小都是削减的意思,很多时候是可以通用的,但是实际上还是有区别的。 JDK 9 的处理方式是不改变字符串存储使用的 char[] 数组,而是根据字符集来进行处理。 当 String
阅读全文
摘要:JDK 考虑开始对字符串进行优化是从 Java 6 开始的。 从 JDK 6 update 21 版本更新开始,我们可以为 JVM 添加下面的参数: -XX:+UseCompressedStrings 上面参数的主要目的就是将 String 存储使用的 char[] 数组修改为 byte[] 数组。
阅读全文
摘要:见过下面的代码吗? List strings = IntStream.rangeClosed(1, 10_000_000).mapToObj(Integer::toString).collect(toList()); 在数字中间还带有一个下划线,这是几个意思? 官方解答 官方的说法来了,在页面: U
阅读全文
摘要:我们都知道 Strings 在 Java 中使用 char[] 数组来实现的。 每一个 char[] 数组中的元素将会使用 2 个字节(byte)的存储空间,这是因为 Java 最初的实现使用 UTF-16 字符集。 如果你不需要存储其他语言,你的语言只有英文,或者 ASCII 码就可以满足的情况下
阅读全文
摘要:当你设置好 Nginx 服务器后,并且你也相信你的虚拟主机都设置好了。 但是你就是老看到一个 403 的错误,这个绝大部分情况是因为 SELinux 造成的。 解决办法 首先运行命令: setenforce 1 然后查看下你的程序能不能通过 URL 正常的访问。 如果能够正常访问的话,这个就铁定是
阅读全文
摘要:Semanage是 用于配置SELinux策略某些元素而无需修改或重新编译策略源的工具。 这包括将Linux用户名映射到SELinux 用户身份以及对象(如网络端口,接口和主机)的安全上下文映射。 Semanage是 用于配置SELinux 策略某些元素而无需修改或重新编译策略源的工具。 如果没有
阅读全文
摘要:乱码是所有程序员都经历过的噩梦。 拯救你生命的只有 UTF-8。 如果你不知道用什么字符集,用 UTF-8,如果没有强制要求,也用 UTF-8,相信我,没错的。 从上面的网页使用的编码就知道为什么了。如果你的公司还在使用 ISO-8895-1 的话,你可以好好鄙视下,说明这公司负责技术的不行嘛。 如
阅读全文