分类: Java

22 篇文章

Guava的TreeBasedTable自定义排序
Guava 的 TreeBasedTable 是一个以树形结构组织数据的表格实现。它提供了按行键和列键排序的功能,默认情况下,行键和列键都按照其自然顺序排序。但是,Guava 也提供了一种方式来自定义排序顺序。 要自定义 TreeBasedTable 的排序顺序,您需要在创建实例时提供自定义的 Co…
jeecms更换编辑器为UEditor并使之自适应宽度,同时去除元素路径
最近在做一个项目,是基于jeecms的二次开发,使用的时候发现虽然已经更新到V6版本了,但是编辑器还是使用的 是fckeditor编辑器,觉得这个易用性不好,想更换为百度UEditor,记录一下过程。 其实在V6版中已经集成了UEditor包,但是系统中没有使用,想替换就得自己动手修改代码。 首先在WEB_INF\ftl\jeecms\ui\文件夹…
iReport增加中文字体
最近开发项目的时候需要使用微软雅黑,iReport中默认有这个字体,当时以为只要把字体改一下就可以了,发现不起,查了一下资料,虽然默认有此字体,但是在PDF中不起作用,要想使用额外的字体,需要将字体添加进来。 首先是安装字体,可以从C:\Windows\Fonts文件夹中查找,也可以从网上下载,找到字体后,打开ireport的配置选项 (工具-选项…
最近遇到的一些问题记录
1、部署在服务器上项目读取配置文件不对,配置文件的ip已经更改为服务器本机ip,但是web应用显示的还是之前开发版本时配置的测试ip,开始以为是实施人员改了配置文件没有重启tomcat,可是重启了两次都无效,把项目相关配置文件仔细检查一遍,没有什么不对的地方,再次重启tomcat,还是不对,重启服务器还是不行,最后把版本打包重新部署一次,还是这个问…
Java学习路线图
  Java是一个通用的编程语言,其实可以干很多事,怎么学Java就看怎么用了,但有一些一般的步骤: 熟悉一种文本编辑器,比如Vim, Emacs, Notepad++, TextMate等。知道哪些是开源的,哪些是闭源的,哪些要收费。养成不用盗版软件的习惯。 安装JDK(建议用你的Linux发行版自带的软件包管理器安装openjdk,过…
Java程序性能优化读书笔记(二)
一、Java虚拟机内存模型 1、程序计数器: 每一线程都有一个独立的程序计数器,用于记录下一条要运行的指令。 2、Java虚拟机栈: 线程私有的内存空间,和Java线程在同一时间创建,保存方法的局部变量、部分结果,并参与方法的调用和返回。 可使用Jclasslib工具深入研究Class类文件的结构 3、本地方法栈: 管理本地方法的调用。在Sun的H…
Java程序性能优化读书笔记(一)
一、常用优化组件和方法 1、缓冲 缓冲的一个典型应用是漏斗。 缓冲可以协调上层组件和下层组件的性能差,加快了上层组件的处理速度,从而提升系统的整体性能。 缓冲最常用的场景就是提高IO处理速度。 2、缓存 缓存(Cache)也是一块为提升系统性能而开辟的内层空间。缓存的主要作用是缓存数据处理结果,并提供下次访问使用。 缓存框架:EHCache、OSC…
如何写出更好的Java代码
Java是最流行的编程语言之一,但似乎并没有人喜欢使用它。好吧,实际上Java是一门还不错的编程语言,由于最近Java 8发布了,我决定来编辑一个如何能更好地使用Java的列表,这里面包括一些库,实践技巧以及工具。 这篇文章在GitHub上也有。你可以随时在上面贡献或者添加你自己的Java使用技巧或者最佳实践。 ...
JVM学习笔记四——内存分配与回收策略
     之前学习了jvm的内存模型以及垃圾回收机制,而这篇日记将记录几个JVM中对象在分配内存是应该遵循的策略。毕竟,想要去优化程序,不仅要考虑垃圾回收的过程,还要从对象内存分配的角度减少gc的代价。 一、首先来介绍MinorGC和Full GC区别: 新生代GC(Minor GC):指发生在新生代的垃圾收集动作,因为Java对象大多都具备朝生夕…
JVM学习笔记三——垃圾收集器
JVM学习笔记三——垃圾收集器 上图是基于Sun的HotSpot虚拟机收集器,可以看到有7种收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。 在具体讲收集器之前,先明确两个概念: 1. 并行(Parallel):指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。 2. 并发(C…