JAVA
jackyrongvip
这个作者很懒,什么都没留下…
展开
-
(转)永远不要使用双花括号初始化实例,除非你想OOM!
生活中的尴尬无处不在,有时候你只是想简单的装一把,但某些“老同志”总是在不经意之间,给你无情的一脚,踹得你简直无法呼吸。但谁让咱年轻呢?吃亏要趁早,前路会更好。喝了这口温热的鸡汤,咱们来聊聊是怎么回事。事情是这样的,在一个不大不小的项目中,小王写下了这段代码:Map<String, String> map = new HashMap() {{ put("map1", "value1"); put("map2", "value2"); put("map3"转载 2020-05-24 08:25:20 · 294 阅读 · 0 评论 -
软件测试综合图
原创 2020-01-04 23:17:46 · 250 阅读 · 0 评论 -
使用guva库解决NULL的问题
一个不好的示范: public List<User> listUser(){ List<User> userList = userListRepostity.selectByExample(new UserExample()); if(CollectionUtils.isEmpty(userList)){//spring util工具类 ...原创 2019-12-18 09:47:19 · 149 阅读 · 0 评论 -
华为的架构设计10原则
摘自华为新书《偶然到必然》产品是否能够呈现期望的或被要求的质量属性,本质上是由架构来决定的。华为制定了十大核心原则来指导架构与设计:(1)全面解耦原则:对业务进行抽象建模,业务数据与业务逻辑解耦,软件和硬件解耦,平台和产品解耦,系统各部件间解耦。(2)服务化、组件化原则:以服务、数据为中心,构建服务化、组件化架构,具备灵活、按需组合的能力。(3)接口隔离及服务自治原则:通过接口隐藏服...原创 2019-12-17 17:03:22 · 1579 阅读 · 0 评论 -
(收藏)Springboot项目的接口防刷(实例)
首先是写一个注解类:importjava.lang.annotation.Retention;importjava.lang.annotation.Target;importstaticjava.lang.annotation.ElementType.METHOD;importstaticjava.lang.annotation.RetentionPolicy.RUNTI...转载 2019-12-12 10:32:30 · 135 阅读 · 0 评论 -
(转)你知道你对 JSON Web Token 的认识存在误解吗
1.前言JSON Web Token (JWT) 其实目前已经广为软件开发者所熟知了,但是 JOSE (Javascript Object Signing and Encryption) 却鲜有人知道,我第一次知道它是在 Spring Security 的官方文档中,它改变了我对 JWT 的一些认识。目前国内能找到相关中文资料不是太多。所以我觉得有必要归纳一下。2. JOSE 概述JO...转载 2019-12-06 07:36:02 · 229 阅读 · 0 评论 -
(收藏)淘宝的SPM跟踪解读
一、提出问题查看淘宝网页的源代码会经常看到http://detail.tmall.com/item.htm?id=3716461318&&spm=2014.123456789.1.2这类代码,发现这是淘宝提供的SPM是淘宝社区电商业务(xTao)为外部合作伙伴(外站)提供的一套跟踪引导成交效果数据的解决方案。仔细看了一下文档,简直就是一种跟踪利器。二、SPM名词解...转载 2019-12-02 21:20:31 · 857 阅读 · 0 评论 -
(收藏)10 个你必须知道的 Java 安全最佳实践
1.用查询参数化防止注入在2017版OWASP十大漏洞中,注入攻击在当年名列前茅。查看典型的Java SQL注入,会发现查询参数拼接进了SQL语句。下面Java代码执行的SQL非常不安全,攻击者会利用它来获取设定之外的信息。public void selectExample(String parameter) throws SQLException { Conne...转载 2019-11-25 20:07:44 · 786 阅读 · 0 评论 -
(收藏)JAVA 线上故障排查全套路
线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如 jstack、jmap 等工具也是不囿于一个方面的问题的,基本上出问题就是 df、free、top 三连,然后依次 jstack、jmap 伺候,具体问题具体分析即可。CPU一般来讲我们首先会排查 CPU 方面的问题。CPU 异常往往还是比较好定...转载 2019-11-17 13:31:29 · 1154 阅读 · 0 评论 -
(转)还在重复写空指针检查代码?考虑使用 Optional 吧!
一、前言如果要给 Java 所有异常弄个榜单,我会选择将 NullPointerException 放在榜首。这个异常潜伏在代码中,就像个遥控炸弹,不知道什么时候这个按钮会被突然按下(传入 null 对象)。还记得刚入行程序员的时候,三天两头碰到空指针异常引发的 Bug,解决完一个,又在另一处碰到。那时候师兄就教我,不要相信任何『对象』,特别是别人给你的,这些地方都加上判断。于是代码通常为...转载 2019-10-27 08:36:10 · 194 阅读 · 0 评论 -
用ajax jquery设计一个上传的效果
今天看到不错的一段代码,做上传的,当选择文件后,自动出现一个旋转的图标(当然可以换成文字),上传用AJAX完成的,上传后出现另外的图标,下面代码笔记之首先是前台,要引入jquery和ajaxupload.js两个JS var uploadIndex = 1; $(function() { uploadIt(); deleteFile原创 2009-07-18 11:02:00 · 881 阅读 · 0 评论 -
tuscany 1.4之与ssh中的包冲突
在用tuscany 1.4,以及SSH架构时,遇到包冲突了java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.(Z)V 方法,只保留asm-all-3.1.jar,包其他asm开头的包都去掉,并且只保留cglib-nodep-2.1.3.jar,去掉cglib.jar原创 2009-02-11 15:03:00 · 567 阅读 · 0 评论 -
list中的addall方法
List中有个容易忽略的好用的方法,addall.add是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素 addAll是传入一个List,将此List中的所有元素加入到当前List中,也就是当前List会增加的元素个数为传入的List的大小原创 2008-12-09 10:03:00 · 4406 阅读 · 1 评论 -
典型的简单权限分配系统方法介绍
一个struts1+spring+hibernate的典型权限系统的设计思路,归纳小结如下,特别适用于简单场合的,比如某个单位下,有直属单位及部门的情况.数据表设计如下user表: userid: username: unitid: //所属单位的id deptid://所属部门的id status:0表示为普通用户 1:表示为该单位的最高管原创 2008-10-22 12:04:00 · 1185 阅读 · 0 评论 -
struts 2日期转换小结
在struts2中,比较反感struts2本身的datatime picker,因为听说问题很多,于是可以网上找些开源的日期的js效果,使用时,这样 在xxx.hbm.xml中设置 mysql中是date类型还要写个转换器,放在src目录下,命名为xwork-conversion.properties java.util.Da原创 2008-10-07 21:04:00 · 958 阅读 · 0 评论 -
flex3+blazeds+spring+hibernate整合小结
近来flex盛行,因此这两天也借了本书看了两天,发觉作为非页面设计人员,flex 还是很好的,flex builder很好用,拖拉就有很COOL的界面了,而且flex总的来说基本东西不难学,有编程基础的人很快掌握,当然要精通就要时间了,因为库,API等很多.下面就flex3+blazeds+spring+hibernate整合作个小结,是之前读外国好文的心得,而见国内这方原创 2008-10-05 01:04:00 · 1013 阅读 · 0 评论 -
ejb3+weblogic 10的一些小结
一个helloworld的例子,以及讲明如何用ant去打包以及其脚本.首先是程序package com.liao;public interface HelloWorld { public String SayHello(String name);}package liao;public interface HelloWorldLocal ext原创 2008-09-30 22:04:00 · 1142 阅读 · 0 评论 -
(转)opensesssion view小结
所谓 OpenSessionInView 就是真对 Hibernate 这个数据持久层框架的一个Web下的使用技巧。我们在日常 MVC 程序开发的过程中,如果使用的是 Hibernate 的数据持久层框架,一定常常在业务逻辑层中出现 Session is closed 的 laze 异常,这是由于 Hibernate 的Session 在上一个操作中我们为了保证 Session 已经及时的原创 2008-09-21 21:05:00 · 699 阅读 · 0 评论 -
hibernate的lazy中的一个extra属性
hibernate的lazy中的一个extra属性是不大容易重视的,其实它和true差不多,但有个小的智能的地方是,即调用集合的size/contains等方法的时候,hibernate并不会去加载整个集合的数据,而是发出一条聪明的SQL语句,以便获得需要的值,只有在真正需要用到这些集合元素对象数据的时候,才去发出查询语句加载所有对象的数据原创 2008-09-21 08:05:00 · 744 阅读 · 0 评论 -
(转)hibernate中的的save,saveorupdate
在Hibernate中,最核心的概念就是对PO的状态管理。一个PO有三种状态: 1、未被持久化的VO 此时就是一个内存对象VO,由JVM管理生命周期 2、已被持久化的PO,并且在Session生命周期内 此时映射数据库数据,由数据库管理生命周期 3、曾被持久化过,但现在和Session已经detached了,以VO的身份在运行 这种和Session已经d原创 2008-09-13 17:05:00 · 658 阅读 · 0 评论 -
JAVA操作excel的一些例子
JAVA操作EXCEL有两种办法,一个用POI,一个用JXI,好象听说JXI对中文的支持会稍微好些.1 用POI,一个写的例子: import org.apache.poi.hssf.usermodel.*;import org.apache.poi.poifs.filesystem.*;import java.io.*;public class Writ原创 2008-09-13 12:05:00 · 717 阅读 · 0 评论 -
hashtable和hashmap的区别辨析
HashMap允许null key和null value,而hashtable不允许,hashtable是线程安全的,hashmap不是.HashMap实现的是Map接口,而HashTable实现的是Set接口,原创 2008-09-11 20:05:00 · 528 阅读 · 0 评论 -
一个值得引起注意的jsp多线程问题
在jsp中,如何让servlet以单线程运行呢?可以把:一个相关讨论如下:http://www.egzcn.com/article/webbc/JSP/2006-03-22/1974.html原创 2008-09-11 19:05:00 · 585 阅读 · 0 评论 -
hibernate 缓存中要注意的地方
1 hibernate 中的缓存问题 A 一级缓存和session的生命周期一样的,在比如 Student student=(Student)session.load(Student.class,1); 这样的语句中,如果两次发出这样的语句,是可以用到缓存的。 同样,用get也是可以用缓存的。 B 如果是用迭代查询,比如这样:原创 2008-09-10 23:05:00 · 556 阅读 · 0 评论 -
正则表达式收藏
一个好的网站:http://regex-lib.net/Home/有很多正则表达式 还有如下的收藏,来自:http://www.cnblogs.com/a311300/archive/2008/07/28/1254951.html 匹配中文字符的正则表达式: [/u4e00-/u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字原创 2008-09-08 20:05:00 · 527 阅读 · 0 评论 -
java网络编程小结1
1 基本的tcp网络编程模式 首先是server端,server端用的是serversocket, import java.net.*;import java.io.*;public class TCPServer { public static void main(String[] args) throws Exception { ServerSocke原创 2008-09-06 09:06:00 · 524 阅读 · 0 评论 -
转:tomcat下查看并发流量
http://wangxuliangboy.javaeye.com/blog/235081如何在WINDOW下配置TOMCAT APR: APR是什么呢,(Tomcat can use the Apache Portable Runtime to provide superior scalability, performance, and better inte原创 2008-09-03 18:06:00 · 2589 阅读 · 0 评论 -
目前的开源ESB产品
Mule 它是一个轻量级的消息框架和整合平台,基于EIP(Enterprise Integeration Patterns,由Hohpe和Woolf编写的一本书)而实现的。 Mule的核心组件是UMO(Universal Message Objects,从Mule2.0开始UMO这一概念已经被组件Componse所代替),UMO实现整合逻辑。 UMO可以是POJO,Java原创 2008-09-02 23:06:00 · 839 阅读 · 0 评论 -
mule初学的一个注意地方
mule是实现esb的好帮手,跟着这里的文可以初学,但有几个地方要注意.http://javafever.javaeye.com/blog/121791 1) 在做例子二的时候, 注意项目的输出目录为classes,然后要把mule-config.xml放在src目录下,这样myeclipse打包的时候,才会输出到classes目录下的, 2)查看mule原创 2008-09-01 21:06:00 · 827 阅读 · 0 评论 -
小结spring和struts整合的三类方式
整合spring和hibernate的三种方式,小结之. 1) 在struts中使用webapplicationcontext调用spring 声明web.xml,声明一个contextloadlistener,让在启动时执行该listener,读spring的配置文件 org.springframework.web.context.Con原创 2008-08-27 21:06:00 · 574 阅读 · 0 评论 -
(转)java类初始化顺序
我们大家都知道,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们也可以通过下面的测试代码来验证这一点: Java代码 public class InitialOrderTest { // 静态变量 public原创 2008-08-12 16:07:00 · 521 阅读 · 0 评论 -
java oop部分的一些小结1
1 在继承中,比如 class a { void show() { } } class b extends a { static void show() {} //这里是错误的,因为继承的时候,父类的非静态方法,不能在子类中被覆盖为静态方法. } 2 class a { int i;原创 2008-08-12 12:07:00 · 517 阅读 · 0 评论 -
(转)javascrit中的uriencode
遇到一个需要用Javascript将文字转换成asp中的urlencode编码网上查到的全都是escape,和需要的编码不是一回事,好不容易找到的结果 保存下来以备以后使用js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent1、原创 2008-08-11 08:07:00 · 1119 阅读 · 0 评论 -
nutch 初探
apache下的nutch是个好东西,但我用0.9版本时,老是说job faild,所以只能换成0.8.1版本了 1 安装cgywin,这东西可以模拟unix的shell2 把下载的东西用tar xvf xxx.tar.gz解压开. 3 在Nutch的安装目录中建立目录urls,在下面再建立一个名为url.txt的文本文件,文件中写入要抓取网站的顶级网址,即要抓取的原创 2008-08-08 17:07:00 · 625 阅读 · 0 评论 -
(转)EJB3.0 注释小结
1. @Id 显示声明属性为标识符2. @GeneratedValue(strategy=GenerationType.IDENTITY) 表示主键是自动生成策略,strategy 有很多 选择 IDENTITY 是针对 SQLSERVER 等数据的。一般该注释和 @Id 合用3. @Entity 任何 Entity Bean 都要有次注释4. @Table(name原创 2008-07-30 12:08:00 · 651 阅读 · 0 评论 -
(转)java笔试题1
JAVA相关基础知识1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类原创 2008-07-28 21:08:00 · 600 阅读 · 0 评论 -
ejb3 学习小结2
1 注意同时声明remote.local的问题 我发现在jboss 4.2.2.gA上,如果这样的话,会出错 @Stateless@Remote@local 是JOBSS报错的 javax.ejb.EJBException: Local and Remote Interfaces cannot have duplicate interface for原创 2008-07-27 17:08:00 · 503 阅读 · 0 评论 -
jad反编译工具的使用
网上听说这工具不错,使用之,jad,其他的都听说是在上面加壳的-8: 把Unicode编码的字符转换成ASCII输出,这样程序中的中文就会原样输出,而不是令人费解的uxxxx这种形式-nl: 把字符串按照切分输出,这样很长的字符串也不至于都放在一行,增强了可读性。-ff: 把数据成员放在方法之前,这样就符合大家写程序的习惯了-space: 在if, while等原创 2008-07-03 21:10:00 · 725 阅读 · 0 评论 -
千万要注意spring中的命名规范
在SPRING的IOC中,一定要注意大小写,比如public class AdminFacadeImpl implements AdminFacade { private AdminDAO adminDao;public AdminDAO getAdminDao() { return adminDao; } public void setAdminDao(A原创 2008-06-19 09:11:00 · 687 阅读 · 0 评论 -
junit 4学习
JUNIT 4中,有几个地方要注意一下的,归纳之1@Test(expected=ArithmeticException.class) public void testDivide() { assertEquals(3,Math.divide(9,3)); Math.divide(10,0); //除数不能为0,会抛出异常 }原创 2008-06-14 00:11:00 · 590 阅读 · 0 评论