- 博客(44)
- 收藏
- 关注
原创 spring定时任务
<!--<过期拼团处理,每10分钟扫描一次>--><bean id="KingBoxPinDanJob" class="com.jzlcheng.huodong.common.quartz.KingBoxPinDanJob"></bean> <!--定时任务--><bean id="KingBox
2018-08-22 10:20:48
164
转载 泛型
本质:参数化类型伪泛型: 只在程序源码中存在,在编译后的字节码文件中,已经被替换为原始类型原始类型: 擦去了泛型信息,最后在字节码中的类型变量的真正类型类型擦除: 使用泛型时加上的类型参数,会在编译中去掉,对运行时期的Java来说, ArrayList<Integer>与ArrayList<String>就是同一个类要求及规则:不能使用基本...
2018-06-26 10:28:44
175
原创 java异常
Java异常机制:运行时异常(RuntimeException),不必处理,虚拟机接管 检查异常(checkedExecption),必须处理常见运行时异常:NullPointerException ClassCastException IllgalArgu...
2018-06-26 09:35:22
189
转载 抽象类与接口
语法层面:1 抽象类可以提供成员方法实现细节,而接口中只有public abstract方法 2 抽象类中成员变量可以是各种类型,而借接口中成员变量只能是public static final 3 接口中不能有静态代码块及静态方法 4 一个类只能继承一个抽象类,而可以实现多个接口设计层面:1 抽象类是对事物的...
2018-06-16 10:24:20
111
转载 分页池和非分页池
windows把虚拟地址:用户空间空间:应用程序使用 系统地址空间:分页池:映射到分页文件的虚拟地址当要使用时才交换到物理内存中的系统调度 非分页池:页面一直锁定在物理内存中,不会被换出到页面交换文件中页面缓冲池:进程占用的分页...
2018-06-16 10:15:52
3171
原创 IP地址分类
分类的IP地址:IP地址 ::={<网络号>,<主机号>}网络号标志主机(或路由器)所连接到的网络主机号标志该主机(或路由器)A 0 0-126 1.0.0.1-126.255.255.255B 10 128-19...
2018-06-15 10:41:02
134
转载 用户点击鼠标后发生的事件
1 浏览器分析超链接指向页面的URL2 浏览器向DNS请求解析URL地址3 域名系统DNS解析出服务器的IP地址4 浏览器与服务器建立TCP连接5 浏览器发出取文件命令:GET/index.html6 服务器给出响应,把文件index.html发给浏览器7 TCP连接释放8 浏览器显示文件...
2018-06-12 17:22:05
1707
转载 常用dos命令10
1 dir 显示一个目录下的文件和子目录2 md 创建一个子目录3 cd 改变或显示当前目录4 rd 删除目录5 copy 复制一个或一组文件到指定的磁盘或目录中(copy A B)6 del 删除指定磁盘目录中的一个文件或一组文件7 ren 对指定磁盘、目录中的一个或一组文件更名8 type 在屏幕上显示文件的内容命令9 format 磁盘格式化10 cls 清屏11 ver 显示正在运行的DO...
2018-06-12 17:17:38
85
原创 重载、重写
重载1 方法名必须相同2 参数列表必须不同3 返回值类型可同可不同方法的重载与返回值无关,只与参数个数,参数类型和参数排列顺序有关重写1 子类方法名,返回类型,参数签名必须与父类完全一致2 子类方法不能缩小父类方法的访问权限3 静态不能重写为非静态,非静态不能重写为静态4 子类方法不能抛出比父类方法更多的异常5 父类中的私有方法不能被子类重写6 父类抽象方法可实现7 父类中非抽象方法可重写为抽象方...
2018-06-12 17:10:26
123
原创 final与static
1、final类不能被继承,final类中方法默认是final的2、final方法不能被覆盖、可被继承3、final成员变量只能被赋值一次4、final不能修饰构造方法5、final参数,可读取,不可更改参数值1、static修饰的成员变量和成员方法独立于该类的任何对象2、public static 成员变量、成员方法→全局变量、全局方法3、静态方法:可直接通过类名调用,任何实例均可调用4、sta...
2018-06-12 10:32:47
102
原创 关于log4j自动生成前一天日志文件的具体时间问题
需求描述:记录每天网站访问客户端IP地址及访问内容,然后统计pv,uv问题描述:log4j自动生成每一天带日期后缀的日志,然后设置定时任务每天凌晨1点分析日志,但是有时候分析结果为空原因:当天的日志不带日期后缀,而对他进行重命名的时间是不固定的,并不是在0点的时候。比如在4月20号的第一条日志信息开始记录的时候,才对4月19号的日志重命名。解决办法:设置定时任务,在分析日志之前插入一条日志,这样可...
2018-04-20 16:53:40
1988
1
转载 如何获取客户端真实ip地址
在项目中需要获取客户端的真实IP地址,原本使用的是request.getRemoteAddr(),后来发布到服务器上时发现取到的值一直是127.0.0.1 原因是,在部署时用了nginx进行反向代理,(小插曲:配nginx的时候一定要记得配 X-Real-IP和 X-Forwarded-For如下,不然还是取不到啊)解决办法: 经过代理以后,由于在客户端和服务之间增加了...
2018-04-17 18:42:23
3329
转载 mysql No operations allowed after connection closed连接异常
问题描述:项目中使用了mysql+c3p0,部署完后当天没有出异常,第二天访问时报异常 异常描述 No operations allowed after connection closed原因:MySQL5.0以后针对超长时间DB连接做了一个处理,Mysql服务器默认的“wait_timeout”是8小时,也就是说一个connection空闲超过8个小时,Mysql将...
2018-04-17 18:21:09
1253
原创 内存屏障、volatile、锁、final
1. 硬件层的内存屏障:Load Barrier 和 Store Barrier作用:阻止屏障两侧的指令重排序; 强制把写缓冲区/高速缓存中的脏数据等写回主内存,让缓存中相应的数据失效。对于Load Barrier来说,在指令前插入Load Barrier,可以让高速缓存中的数据失效,强制从新从主内存加载数据;对于Store Barrier来说,在指令后插入Store Barri...
2018-04-16 16:49:00
754
转载 偏向锁、 轻量级锁 、 重量级锁
锁的4种状态 无锁状态 偏向锁 轻量级锁 重量级锁 一个对象刚开始实例化的时候,没有任何线程来访问它,处于无锁状态。当第一个线程来访问它,它会偏向这个线程,此时,对象持有偏向锁。这个线程在修改对象头成为偏向锁时使用CAS操作,并将对象头中的ThreadID改成自己的ID,之后再次访问这个对象时,只需要对比ID,不需要再使用CAS在进行操作。因为偏向锁不...
2018-04-16 16:44:38
118
原创 php基本语法
1.php标记符 <?php echo 'Hello'; ?> 2.常量 constTHE_VALUE = 100; define('THE_VALUE',100); 变量 $a=10; 3.函数 functiontraceHello($name){ echo 'hello '.$name.'<br>';//字符串连接 ...
2018-04-16 16:39:39
3232
转载 QueryRunner类
QueryRunner类 该类简单化了SQL查询,它与ResultSetHandler组合在一起使用可以完成大部分的数据库操作,能够大大减少编码量。QueryRunner类提供了两个构造方法:默认的构造方法需要一个 javax.sql.DataSource 来作参数的构造方法。 QueryRunner类的主要方法 public Object query(Connection conn, Stri...
2018-04-16 16:35:31
2741
转载 定时任务crontab
# crontab –e进入编辑用户自定义的crontab配置文件,会被写到/var/spool/cron 目录下,生成一个和用户名一致的文件,文件内容就是我们编辑的定时脚本。# vi /etc/crontab进入系统的crontab配置文件 crontab 文件的格式:{minute} {hour} {day-of-month} {month}{day-of-week} {full-path-t...
2018-04-16 16:29:39
92
原创 Linux常用指令
ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent)cd 切换目录touch 创建空文件echo...
2018-04-16 16:28:02
97
转载 配置nginx反向代理
nginx和apache一样都提供了多端口映射成80端口的配置方式。 打开nginx的配置文件nginx.conf在http下的server后面添加server{ listen 80; #监听80端口 server_name xxx.xxx; #域名 location / { ...
2018-04-16 15:55:40
87
转载 XML DOM
摘自慕课网xml dom 定义了访问和处理xml文档的标准方法。获取xml文件内容的四种解析方式:DOM SAX DOM4J JDOM基础方法:DOM(平台无关的官方解析方式)、SAX(基于事件驱动的解析方式)扩展方法:JDOM、DOM4J(在基础的方法上扩展出的,只有在java中能够使用的解析方法)DOM4J 解析 xml 文件1、创建一个 SAXReader 对象SAXReader saxRe...
2018-03-01 10:35:34
126
转载 SSL/TLS协议
摘自http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html1.不使用SSL/TLS协议的HTTP通信的风险。 ①窃听风险 ②冒充风险 ③篡改风险2.SSL/TLS协议解决风险的办法 ①加密传播 ②身份证书 ③校验机制3.SSL协议思想是基于传输控制层协议建...
2018-02-27 18:20:22
227
转载 Synchronized
摘自http://blog.csdn.net/luoweifu/article/details/46613015 1.修饰代码块,作用范围{},作用对象,调用此代码块的对象2.修饰方法,作用范围,整个方法,作用对象,调用此方法的对象3.修饰静态方法,作用范围,整个静态方法,作用对象,这个类的所有对象4.修饰一个类,作用范围{},作用对象,这个类的所有对象注:synchronized关键字不能继承A...
2018-02-11 18:51:26
121
原创 Java获取时间戳
时间戳 指的就是Unix时间戳(Unix timestamp)。它也被称为Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。System.currentTimeMillis();Calendar.getInstance().getTimeInMillis();new Da...
2018-02-11 18:02:20
221
原创 用于精确计算的BigDecimal
float和double类型主要为了科学计算和工程计算而设计。它们执行二进制浮点运算,提供较为精确的快速近似计算。float和double尤其不适用于货币计算。解决办法:使用BigDecimal、int或long进行货币计算使用int或者long时,以分位单位进行计算,而不是以元为单位。BigDecimal: 构造器 BigDecimal(int) BigDec...
2018-02-11 17:04:44
157
原创 从数据库随机取出数据
SELECT description FROM question ORDER BY RAND() LIMIT 1;在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。SELECT description FROM question WHERE id >= (SELECT FLOOR(RAND() * (SELECT MAX(id) FROM question)...
2018-02-11 15:30:13
5505
转载 MySQL常用函数
一、数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值FLOOR(x) 返回小于x的最大整数值MOD(x,y) 返回x/y的模(余数)RAND()返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。ROUND(x...
2018-02-11 14:22:02
95
转载 Cookie和Session机制
摘自http://blog.csdn.net/fangaoxin/article/details/6952954web应用程序基于HTTP协议传输数据,而HTTP协议是无状态协议,当一次数据交换完成后,客户端和服务器端会关闭连接,当再次交换数据时需重建连接,因此无法从连接上跟踪会话。Cookie实质是存储在客户端的一段小文本信息。当客户端向服务器端发起请求,如服务器端需要记录用户状
2018-02-06 17:10:50
102
原创 始终覆盖toString、谨慎覆盖clone、考虑实现Comparable*
始终覆盖toStringjava.lang.Object提供toString方法的一个实现,返回值:类的名称,一个@符号,散列码的无符号16进制表示。谨慎覆盖clone考虑实现Comparable
2018-01-19 16:05:10
138
原创 覆盖equals时总要覆盖hashCode
覆盖equals时必须覆盖hashCode,否则该类无法结合所有基于散列函数的集合正常运作,如HashMap、HashSet和HashTable。约定: 1.程序执行期间,只要对象equals方法所用到的信息没有改变,hashCode方法必须返回同一个整数。程序对此执行过程中,返回整数可以不同。 2.如果两个对象equals方法比较相同,那么hashCode返回相同整数。 3.如
2018-01-19 14:58:19
168
原创 覆盖equals时遵守通用约定
不覆盖equals时,类的每个实例都只与它自己相等。如果类有自己的逻辑相等概念,且超类未覆盖equals以实现期望的行为,这时需覆盖equals。约定内容: 1.自反性----对于任何非null的引用值x,x.equals(x)必须返回true 2.对称性----对于任何非null的引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y)必须返回true
2018-01-19 12:07:11
125
原创 避免使用终结方法(finalizer)
从一个对象变得不可到达,到它的终结方法被执行,所经历的时间是任意的。JVM会延迟执行终结方法。 终结方法的执行是垃圾回收算法的一个主要功能,不同JVM的实现大相径庭。 不应该使用终结方法来更新重要的持久状态。 终结方法会拉低性能。 提供显示的终止方法,如InputStream、OutputStream和java.sql.Connection的close方法。显示终止方法通常
2018-01-18 18:41:35
286
原创 通过私有构造器强化不可实例化的能力、避免创建不必要的对象、消除过期的对象引用
4.通过私有构造器强化不可实例化的能力 工具类不希望被实例化。 企图通过将类做成抽象类来强制该类不被实例化是行不通的,因为该类可以被子类化,而该子类可以被实例化。 只有当类不含有显示构造器时,编译器才会生成缺省构造器,因此可设置私有构造器即可解决问题。5.避免创建不必要的对象 对于同时提供静态工厂方法和构造器的不可变类,优先使用静态工厂方法,以避免创建不必要的类。 自
2018-01-18 17:40:36
148
原创 用私有构造器或者枚举类型强化Singleton属性*
java 1.5之前方法1 私有构造器,公有静态final域public class Elvis(){ public static final Elvis INSTANCE = new Elvis(); private Elvis(){} public void leaveTheBuilding(){}}缺点:享有特权的客户端可以通过AccessibleObject.s
2018-01-18 15:14:14
297
原创 遇到多个构造器参数时考虑使用构建器
静态工厂和构造器的局限:不能很好的扩展到大量可选参数。 方法1 习惯用法:重叠构造器。提供一个只有必要参数的构造器,第二个构造器有一个可选参数,第三个构造器有两个可选参数,以此类推。 缺点:参数较多时,客户端代码难以编写,难以阅读。 方法2 JavaBeans模式:调用一个无参构造器来创建对象,调用setter方法设置每一个必要参数,及可选参数。
2018-01-17 17:21:33
382
原创 考虑用静态工厂方法代替构造器
1.考虑用静态工厂方法代替构造器 优点: 静态工厂方法有名称,当一个类有多个相同签名的构造器时,以静态工厂方法替代之,并使用有意义的名称。 不必每次调用它们的时候都创建一个新对象。 可以返回原返回类型的任何子类型的对象。 创建参数化类型实例时,代码更简洁。 缺点: 类如果不含公有的或者保护的构造器,就不能被子类化。 静
2018-01-17 16:03:13
131
原创 将本地Java程序发布到Linux服务器上
注:记录自己在发布日志分析程序中遇到的问题1.将程序导出成jar包,执行java -jar XXX.jar 即可运行 Export》JAR file》Next...》选择Main Class作为程序入口2.第三方引用问题 eclipse在打包时不会将第三方jar包一并打包,如数据库驱动器。解决办法可用fatjar插件,但fatjar不适应版本较高的eclipse。但我们
2018-01-16 17:17:58
4711
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人