- 博客(14)
- 收藏
- 关注
原创 jasperReports生成动态多级表头报表
通过上述一些基本的使用说明与演示,基本上可以满足复杂的多级表头,如果有动态列需求如根据权限判断动态的隐藏某些列,也可根据演示去实现。对于另一种通过Connection的方式执行sql的方式绑定数据源,可以自己进行尝试。然后提供一个我自己写的一个简单工具类,可以满足接口调用返回pdf或者excel文件流,如果有多sheet的excel输出可以自己根据演示代码进行实现。/*** jasperReports 导出工具类**//**
2023-11-11 17:39:30
3579
2
原创 Arrays.binarySearch()方法
Arrays.binarySearch()方法用于对有序的数组寻找某一对象的位置,其对象数组必须实现Comparable接口,不然就会报错java.lang.ClassCastException,首先写两个小例子验证方法:首先是基本类型int数组:public static void testIntSearch() { int[] array = new int[10]; Rand...
2018-07-04 18:43:22
2540
原创 Spring注解@Component、@Repository、@Service、@Controller区别
Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控制层(Web 层)相对应。虽然目前这3 个注释和 @Component...
2018-06-29 14:02:15
219
原创 Spring注解@Resource和@Autowired区别对比
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。1、共同点两者都可以写在字段和setter方法上。两者如果都写在字段上,那么就不需要再写setter方法。2、不同点(1)@Autowired@Autowired为Spring提供...
2018-06-25 18:30:53
196
原创 类型信息
运行时类型信息使得你可以在程序运行时发现和使用类型信息。它使你从只能在编译期执行面向类型的操作的禁锢中解脱了出来,并且可以使用某些非常强大的程序。对RTTI的需要,揭示了面向对象设计中许多有趣(并且复杂) 的问题。 如果要是想在运行时识别对象和类的信息,一般有两种方式:一种是传统的“RTTI”,它假定我们在编译时已经知道了所有的类型;另一种是“反射”机制,它允许我们在...
2018-04-26 15:59:43
133
原创 正则表达式
正则表达式是一种强大而灵活的文本处理工具。使用正则表达式,我们能够以编程的方式,构造复杂的文本模式,并对输入的字符串进行搜索。一旦找到了匹配这些模式的部分,你就能够随心所欲的对它们进行处理。初学正则表达式的时候,其语法是一个难点,但它确实是一种简洁、动态的语言。正则表达式提供了一种完全通用的方式,能够解决各种字符串处理相关的问题:匹配、选择、编辑、以及验证。 创建正则表达式用到...
2018-04-19 18:26:45
162
原创 读取excel文件
java进行excel解析主要是用到了poi包。比较老的poi工具包不能解析xlsx文件后缀的excel即2007的工作制表,只能解析xls文件后缀即97-2003的excel工作制表,所以如果要两种都能解析就要集成比较新的poi工具包,如果用比较老的poi包解析xlsx可能会报错。 在进行解析之前要判断excel的后缀,不同后缀用不同的类来解析,这里可以用截取后缀的方法也...
2018-03-21 18:31:13
415
转载 读写分离
什么是读写分离 MySQL Proxy最强大的一项功能是实现“读写分离(Read/WriteSplitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。当然,主服务器也可以提供查询服务。使用读写分离最...
2018-03-16 15:09:43
389
原创 java编程思想小记(2)
在(1)中主要是对于背景的讲解和一些资料的补充,主要是第一章的内容,第一章的内容就跟读书差不多。第二章就是讲解了比较基础的java语言的知识,比如基础类型、垃圾回收机制、作用域、static关键字还有就是创建java程序。对象存储 首先是java创建的对象被存储到了什么地方。有五个地方可以存储数据:(1)寄存器。寄存器是最快的存储区,因为它位于处理器内部,但是寄存器的数量极其有限,所...
2018-03-08 14:33:49
208
原创 java编程思想小记(1)
在学习java方面刚开始有些懵,上网上查找之后知道了几本比较经典的有关基础的书,不管你是不是初学者都可以拿来研读,而且是那种可以反复拿出来回味的经典之作,《JAVA编程思想》就是其中的一本。当然也有人说这本书不适合初学者,其中涉及到了一些基础知识,有C语言尤其是有C++基础的,可能会相对容易一点。 在拿到书的时候说实话还是有些头大的,800多页的书,说实话心里有些发憷,但...
2018-03-08 14:33:34
155
原创 java编程思想小记(3)——终结处理和垃圾回收
终结处理 Java有垃圾回收器负责回收无用对象占据的内存资源。但也有特殊情况:假定你的对象(并非使用new)获得了一块“特殊”的内存区域由于垃圾回收器只知道释放那些经由new分配的内存,所以它不知道该如何释放该对象的这块“特殊”内存。为了应对这种情况,Java允许在类中定义一个名为finalize()的方法。它的工作原理“假定”是这样的:一旦垃圾回收器准备好释放对象占用的存储空间,将首...
2018-03-08 14:32:17
169
原创 java源码Integer.toBinaryString()方法
在Integer类型中有静态方法toBinaryString(int i),这个方法的功能是十进制转换为二进制输出。这个方法直接调用了toUnsignedString0(int val, int shift)方法,其中shift参数的值为1。不难发现在Integer类方法toHexString(int i)和方法toOctalString(int i)中也调用了这个方法,只不过shif...
2018-03-05 16:46:33
15876
原创 按位操作符
按位操作符是用来操作整数的二进制位的,按位操作符会对两个参数中对应的二进制位执行布尔代数运算,并最终生成一个结果。1.按位与(&) 按位与(&)操作符是双目操作符,可以与等号(=)联合使用。按位与的操作规则是参与运算的两数(若不是二进制则先转换为二进制)对应二进位相与,若对应的二进制位都为1,则结果的相应二进位为1,否则为0。例如11&7,结...
2018-03-02 11:28:15
2205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人