![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 53
游离于移动互联网边缘
从业7年有余,从事java、android、ruby、arduino 、python 的开发,讨厌重复,喜欢创新,简单明快,自己定位:游离于移动互联网边缘
展开
-
IDEA 插件开发,工具方法
public static PsiClass getPsiClass(AnActionEvent e) { PsiFile psiFile = e.getData(LangDataKeys.PSI_FILE); Editor editor = e.getData(PlatformDataKeys.EDITOR); if (psiFile =...原创 2018-11-20 23:20:47 · 1597 阅读 · 0 评论 -
论apache重复造的轮子
今天分享一下apache所重复造的轮子(FileUtils.readLines)在org.apache.cxf.helpers 这个包下有个工具类也叫做FileUtils,和我们平时常用的 org.apache.commons.io 下面的工具类名称一致。那么在开发中使用导包ctrl+shift+o 快捷键导包,非常容易引用错误包,如果不涉及到字符集编码还好,否则容易走弯路。今天分析一下 这个同名工原创 2016-07-04 17:07:30 · 622 阅读 · 0 评论 -
java ClassLoader 思考
JVM预定义的三种类型类加载器:启动(Bootstrap)类加载器:是用本地代码实现的类装入器,它负责将 /lib下面的类库加载到内存中(比如rt.jar)。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用,所以不允许直接通过引用进行操作。标准扩展(Extension)类加载器:是由 Sun 的 ExtClassLoader(sun.misc.Launcher$E转载 2016-06-14 09:18:06 · 547 阅读 · 0 评论 -
java 调用Quartz 不同版本使用分析 1.6x 、1.7x、1.8x
quartz调用框架1.6x、1.7x、1.8x 使用时,所需配置却不同,今天拿出来分别比比分析一下。副标题【论版本管理的重要性】今天整理项目发现项目在本地运行不执行相应job,经过各种查发现quartz 的不同版本的配置文件还不一样。quartz所用到的配置文件共计3个主要的,分别是:quartz.properties、quartz_jobs.xml 以及在web.xml 文件设置的servle原创 2016-04-15 17:56:26 · 9592 阅读 · 0 评论 -
JSONArray 转list
JSONArray 转list 可以通过如下简便方法进行JSONArray programsArray = jsonobject.getJSONArray("programs");List list = (List) JSONArray.toCollection(programsArray, Programs.class);转换过程中容易产生NoSuchMethodEx原创 2015-11-12 17:31:18 · 13438 阅读 · 0 评论 -
java 实现下载htttp文件的简便办法 FileUtils IOUtils
开发人员需要具备自己可以造轮子的能力,同时也要具体会借轮子的能力,两者同样重要。原创 2015-05-12 15:10:42 · 4864 阅读 · 0 评论 -
maven添加本地jar 依赖的方法
maven添加本地jar 依赖的方法,maven把本地jar添加到项目中。mvn install:install-file -Dfile=D:\JavaJar\cnlive_mam_sso.jar -DgroupId=edu.yale -DartifactId=edu-yale-its -Dversion=1.0.0.RELEASE -Dpackaging=jar原创 2015-01-26 17:32:34 · 1061 阅读 · 0 评论 -
记滚播编单系统的诞生
1:无论是作为开发人员还是管理人员,都应该学会总结,总结过去一段时间的成长,同时也是为自己梳理思路的”好理由“,不是有句话叫做匆匆赶路忘却了沿途的风景嘛,说的挺有道理的。只有去回想才能发现过去的不足和值得自己骄傲的,要去弥补自己的不足,慢慢的去补空。成长就是这样成长的。2:上进心,我非常期待前来应征的人员有强烈的上进心,进去欲望,每天的工作状态都是“渴望”的。同时也希望他们有一颗不安于现状的心,每天的目标和目的都是明确的,知道自己想要什么。努力为自己为公司。3:时间,每个人每天的时间是固定的,时间的原创 2014-09-24 22:25:31 · 1341 阅读 · 0 评论 -
java实现CRC16算法与C算法一致
java实现CRC16算法与C算法一致原创 2014-07-09 11:41:58 · 3118 阅读 · 0 评论 -
centos java tomcat 中文乱码解决办法
现象: cenos 部署java web 程序 ,java类中有中文 出现乱码现象:即使使用: System.getProperty("中文") 控制台都出现 ?????? 乱码,现象很奇怪经查:运行: 此方法 输出中发现有 System.out.println(System.getProperty("file.encoding"));ANSI_X3.4-1968解决办法:修改tomcat/bin 下的 catalina.sh 文件 ,在此文件中加入:CA原创 2014-04-23 11:29:34 · 2868 阅读 · 0 评论 -
模板方法模式(Template Method) 例子
模板方法模式的结构 模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。 模板方法模式需要开发抽象类和具体子类的设计师之间的协作。一个设计师负责给出一个算法的轮廓和骨架,另一些设计师则负责给出这个算法的各个逻辑步骤。代表这些具体逻辑步骤的方法称做基本方法(primitive method);而将这些基本方法汇总起来的方法叫做模板方法(templa转载 2014-05-27 14:31:39 · 822 阅读 · 0 评论 -
java 自定义注解例子
import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Inherited;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPoli原创 2014-05-27 15:27:30 · 676 阅读 · 0 评论 -
java Servlet 3.0新特性例子
Servlet3.0 特性解析并附demo 代码。1.Servlet、Filter、Listener无需在web.xml中进行配置,可以通过Annotation进行配置;2.模块化编程,即将各个Servlet模块化,将配置文件也分开配置。3.Servlet异步处理,应对复杂业务处理;4.异步Listener,对于异步处理的创建、完成等进行监听;5. 文件上传API简化;原创 2014-05-23 10:15:21 · 1453 阅读 · 0 评论 -
java 16进制转成字符串
java 将十六进制转化成字符串方法:原创 2014-06-25 11:39:49 · 1160 阅读 · 0 评论 -
Memcache 初体验
1:下载安装wget http://memcached.org/files/memcached-1.4.20.tar.gz原创 2014-05-15 17:11:42 · 752 阅读 · 0 评论 -
eclipse 设置内存
自己记录一下 省得每次都去别人家博客找 -vmargs -Xms512M -Xmx1024M -XX:PermSize=128M -XX:MaxPermSize=256M原创 2014-04-02 15:40:24 · 559 阅读 · 0 评论 -
spring实现访问次数控制
根据IP去限制用户单位时间的访问次数防刷.@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)@Documented//最高优先级@Order(Ordered.HIGHEST_PRECEDENCE)public @interface RequestLimit { /** * * 允许访问的原创 2016-10-19 18:08:16 · 5800 阅读 · 1 评论 -
logback 使用示例
有时间的时候真的可以认认真真测测这几日志处理的框架 如:Log4j、Log4j 2、Logback、SFL4J、JUL、JCL的比较本文转载一篇 logback的使用示例,供学习了解。1.简介 LogBack是一个日志框架,它与Log4j可以说是同出一源,都出自Ceki Gülcü之手。(log4j的原型是早前由Ceki Gülcü贡献给Apache基金会的)1.1 LogBack,Slf4转载 2016-10-29 15:15:06 · 2763 阅读 · 0 评论 -
Arraylist中的modCount 的作用
在使用Iterator来迭代遍历List的时候如果修改该List对象,则会报java.util.ConcurrentModificationException异常,下面看一个例子演示:package com.others;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java转载 2016-11-11 13:19:25 · 5263 阅读 · 1 评论 -
jacoco maven 多模块项目 单测代码覆盖率统计
1、说明-使用插件maven-surefire-pluginjacoco-maven-plugin要求:版本大于0.7.7 同时配置report-aggregate参数2、使用方法2.1、第一步:parent.pom.xml 中声明 <pluginManagement> <plugins> ...原创 2018-09-13 14:48:05 · 7286 阅读 · 2 评论 -
IDEA 的 LiveTempleate 自动补全日志代码
前言 Live Template 是 IDEA 提供的一个自动生成代码的工具, 可以自定义一段小代码, 比如最常见的 System.out.println(“”); , 当然这已经被内置了, 输入 sout即可输出。自定义 Live Template 打开 IDEA, 点击工具栏 File -&amp;gt; Settings -&amp;gt; Editor -&amp;gt; Live Template, 点...原创 2018-09-12 10:00:07 · 1287 阅读 · 0 评论 -
谈谈Java中的volatile
特性: 1:内存可见性2:留意复合类操作3:解决num++操作的原子性问题4: 禁止指令重排序内存可见性 volatile是Java提供的一种轻量级的同步机制,在并发编程中,它也扮演着比较重要的角色。同synchronized相比(synchronized通常称为重量级锁),volatile更轻量级,相比使用synchronized所带来的庞大开销,倘若能恰当的合理的使用v...转载 2018-08-27 10:43:26 · 239 阅读 · 0 评论 -
http response 保存至本地
抓取http响应的response 内容,并保持至本地;response auto saveresponse auto downloadhttp response savechrome response save使用工具:Fiddler 4操作步骤: 1: 找到 CustomRules.js 文件进行编辑2:确定文件位置: 我的是:C:\Us...原创 2018-05-21 14:13:15 · 3457 阅读 · 0 评论 -
redis分布式锁之redisson
概述:关于 redisson详情请移步:https://github.com/mrniko/redisson/wiki下面通过简单的案例使用redisson的lock。 1、RedissonManager类,管理redisson的初始化等操作。public class RedissonManager { private static final String RAtomi...原创 2018-02-24 16:55:59 · 657 阅读 · 0 评论 -
Redis分布式锁的正确实现方式
前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保...转载 2018-02-24 16:44:26 · 478 阅读 · 0 评论 -
为什么HikariCP被号称为性能最好的Java数据库连接池,如何配置使用
HiKariCP是数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他连接池。原文地址:http://blog.csdn.net/clementad/article/details/46928621官网:https://github.com/brettwooldridge/HikariCP为何要使用HiKariCP?这要先从BoneCP说起: 什么?不是有C3P0/DBCP...转载 2018-02-23 17:54:27 · 1875 阅读 · 0 评论 -
java 爬楼梯算法实现
java 爬楼梯算法实现方法一:public class Run {public static void main(String[] args) {//startUp()传入楼梯数,因为测试,我输入了个5System.out.println(startUp(5));}public static int startUp(int n){if(n ==3)return 4;if(n <3)r原创 2017-05-08 17:32:12 · 2096 阅读 · 0 评论 -
Lambda 表达式回顾
初步认识Java 8引进了lambda表达式,这种表达式本质上是一个匿名方法。 在Java 8以前的代码中,为了实现带一个方法的接口,往往需要定义一个匿名类并重写接口方法,代码很臃肿。比如常见的Comparator接口:String[] oldWay = "Improving code with Lambda expressions in Java 8".split(" ");Arrays.so原创 2017-02-03 15:00:18 · 475 阅读 · 0 评论 -
Hashset 使用不当引起的内存泄漏
修改hashset中对象的属性值,且属性值是计算哈希值的字段,这时会引起内存泄漏即:当一个对象被存储进HashSet集合中以后,就不能修改该对象的参与计算哈希值的属性值了 ,否则对象修改后的哈希值与最初存储进HashSet集合中时的哈希值就不同了,在这种情况下,即使在contains方法使用该对象的当前引用作为参数去HashSet集合中检索对象,也将返回找不到对象的结果,这也会导致无法从HashS原创 2017-02-07 09:32:31 · 2361 阅读 · 0 评论 -
logback为日志配置颜色
为日志配置颜色没有颜色的日志输出,在日常开发环境中是很苦恼的一件事情。logback可以很好的解决这个问题,解决办法也非常简单:第一步:定义一个颜色pattern变量 <property name="CONSOLE_LOG_PATTERN" value="%date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldY原创 2017-01-11 10:14:56 · 21089 阅读 · 2 评论 -
java 实现数字签名自动补零
方法一: for 循环判断位数; 补零个数是,进行总长度减去数字长度。方法二: 善用String.format 方法 如:public static void main(String[] args) { // 0 代表前面补充0 // 4 代表长度为4 // d 代表参数为正数型 int[] nums = new int[] {原创 2017-02-06 13:31:21 · 1062 阅读 · 0 评论 -
Future接口介绍
在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现。 Future接口是Java标准API的一部分,在java.util.concurrent包中。Future接口是Java线程Future模式的实 现,可以来进行异步计算。 Future模式可以这样来描述:我有一个任务,提交给了Future,Future替我完成这个转载 2016-12-15 10:31:09 · 958 阅读 · 0 评论 -
JVM加载class文件的原理机制
整个JVM 分为四部分:Class Loader 类加载器类加载器的作用是加载类文件到内存,比如编写一个HelloWord.java 程序,然后通过javac 编译成class 文件,那怎么才能加载到内存中被执行呢?Class Loader 承担的就是这个责任,那不可能随便建立一个.class 文件就能被加载的,Class Loader 加载的class 文件是有格式要求需要详细了解的话,可以仔细阅原创 2016-11-16 19:54:42 · 451 阅读 · 0 评论 -
Java创建对象的几种方法
有时候,也可能碰到这样面试题,如:Java创建对象有哪几种方法?除了new之外,java创建对象还有哪几种方式?本文结合例子,给出几种Java创建对象的方法,Here we go~~~~使用new创建这是最常用的一种。如:Book book = new Book();示例如下:package test;import java.io.Serializable;import java.util.Lis转载 2016-11-28 18:12:10 · 900 阅读 · 0 评论 -
Struts2 配置url重写 404 找不到action解决方法
web.xml 中加入 UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter UrlRewriteFilter /* 注意在 struts2 org.apache.struts2.dispatcher.FilterDispatcher原创 2014-04-02 15:40:35 · 1654 阅读 · 0 评论 -
was active for 79985 milliseconds and has been removed automaticaly.
在使用proxool 时 出现错误: [org.logicalcobwebs.proxool.cnlivePoll][WARN][2011-04-25 16:31:01,241]-[#0003 was active for 79985 milliseconds and has been removed automaticaly. The Thread responsible w原创 2014-04-02 15:41:48 · 2952 阅读 · 0 评论 -
Hibernate 模糊搜索方法
DetachedCriteria dc = DetachedCriteria.forClass(UserPickOut.class); dc.add(Restrictions.or(Restrictions.like("name", param, MatchMode.ANYWHERE), Restrictions .or(Restrictions原创 2014-04-02 15:41:21 · 705 阅读 · 0 评论 -
org.hibernate.MappingException: Named query not known: XXXX 解决办法
org.hibernate.MappingException: Named query not known: XXXx 解决办法 错误解决办法: 1:检查 XXXX"> 中的 XXXX 是否和程序中用到一致 session.getNamedQuery("XXXX"); 2 :XXXX"> 所在 hbm.xml 是否已经在 hibernate.cfg.xm原创 2014-04-02 15:42:07 · 3272 阅读 · 0 评论 -
spring aop 理解
OO注重的是我们解决问题的方法(封装成Method),而AOP注重的是许多解决解决问题的方法中的共同点,是对OO思想的一种补充!原创 2014-04-02 15:42:47 · 519 阅读 · 0 评论 -
spring Ioc Aop
一、 IoC(Inversion of control): 控制反转 1、IoC: 概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系 核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean 二、AOP(Aspect-Oriented Programming): 面向方面编程 1、 代理的两种方式: 静态代理:原创 2014-04-02 15:42:53 · 451 阅读 · 0 评论