Java
文章平均质量分 88
arenn
怕什么真理无穷,进一步有进一步的欢喜
展开
-
自旋锁
参见:深入理解自旋锁 自旋锁原创 2019-06-13 18:03:04 · 267 阅读 · 0 评论 -
理解Java中字符流与字节流的区别
转载自:理解Java中字符流与字节流的区别1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列。和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列的对象被称为输入流;能够向其写入一个字节序列的对象被称为输出流。 2. 字节流 Java中的字节转载 2018-01-16 15:12:43 · 238 阅读 · 0 评论 -
serialVersionUID作用
转载自:serialVersionUID作用serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出转载 2018-01-31 11:24:08 · 220 阅读 · 0 评论 -
Java中的Double类型计算
转载自:Java中的Double类型计算一、问题的提出:如果我们编译运行下面这个程序会看到什么?public class Test{ public static void main(String args[]){ System.out.println(0.05+0.01); System.out.println(1.0-0.转载 2018-01-05 10:32:22 · 3226 阅读 · 0 评论 -
把web项目改成maven项目
把web项目转换为maven项目可参考:Myeclipse将web项目改为maven项目在转换后,部署并启动项目,发现启动很快,未报错,但访问地址进不去项目首页,去tomcat的webapps路径下找对应项目,发现web.xml没部署上,几经探索,发现此时项目中已无WebRoot文件,web.xml在webapp路径下,所以可按如下方法修改,重新部署即可:右键项目,选择properties原创 2017-12-29 11:19:37 · 1999 阅读 · 0 评论 -
深入Java集合学习系列:LinkedHashSet的实现原理
转载自:深入Java集合学习系列:LinkedHashSet的实现原理1. LinkedHashSet概述: LinkedHashSet是具有可预知迭代顺序的Set接口的哈希表和链接列表实现。此实现与HashSet的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可为插入顺序或是访问顺序。 注意,此实现不是同步转载 2018-01-02 16:56:03 · 539 阅读 · 0 评论 -
application/json 四种常见的 POST 提交数据方式
转载自:application/json 四种常见的 POST 提交数据方式四种常见的 POST 提交数据方式 HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的转载 2018-01-11 16:41:56 · 20743 阅读 · 0 评论 -
AOP+log4j记录日志
在已开发完的项目中添加日志,使用切面比较方便,下述即为AOP+Log4j记录项目中日志的方法。1.添加log4j.propertieslog4j.rootLogger=INFO,A1,R,Elog4j.appender.A1=org.apache.log4j.ConsoleAppenderlog4j.appender.A1.layout=org.apache.log4j.Pattern原创 2017-12-18 14:34:14 · 1194 阅读 · 0 评论 -
HashMap 主要特点和关键方法源码解读
转载自:HashMap 主要特点和关键方法源码解读点击查看 Java 集合框架深入理解 系列 什么是 HashMapHashMap 的特点HashMap 的 13 个成员变量HashMap 的初始容量和加载因子HashMap 的关键方法HashMap 的 4 个构造方法HashMap 中的链表节点HashMap 中的添加操作H转载 2017-12-26 16:04:58 · 329 阅读 · 0 评论 -
jqgrid导出excel(符合查询结果的所有,非当前页)
步骤:1.在展示页list.jsp上加:2.在curdtools_jqgrid.js里加exports方法:/** * 导出 * @param gridId */function exports(gridId) { var queryParams = {}; var queryFields=$('#queryFields').val(); query原创 2017-12-11 10:50:24 · 2688 阅读 · 6 评论 -
部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi
严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListenerjava.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener转载 2017-11-20 09:26:19 · 208 阅读 · 0 评论 -
updateByPrimaryKey和updateByPrimaryKeySelective insert和insertSelective
这两个update都是使用generator生成的mapper.xml文件中,对dao层的更新操作updateByPrimaryKey对你注入的字段全部更新(不判断是否为Null)updateByPrimaryKeySelective会对字段进行判断再更新(如果为Null就忽略更新)区别了这两点就很容易根据业务来选择服务层的调用了!详细可以查看generat转载 2017-10-16 14:40:03 · 510 阅读 · 0 评论 -
maven下载私服上的第三方jar包失败
最近遇到一个问题,项目开发过程中需要用到第三方jar包,放在了私服的3rd party库中,然后在pom.xml中配置依赖,却怎么都下不下来,代码和pom确定是最新的,同事的都没事儿,看了几篇博客后,按要求重新配置setting.xml和pom.xml,还是无果。 后来看到一个小姐姐的博文,提到下载不到的jar包对应的本地仓库路径下都有.lastUpdates文件,便去查看我本地路径...原创 2018-03-07 14:57:56 · 4719 阅读 · 4 评论 -
JVM(Java虚拟机)优化大全和案例实战
转载自:JVM(Java虚拟机)优化大全和案例实战堆内存设置原理JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old...转载 2018-02-28 10:22:37 · 195 阅读 · 0 评论 -
JDBC详解
转载自:JDBC详解一、相关概念1.什么是JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。2.数据库驱动 我们安装好数据库之后,我们...转载 2018-03-15 14:53:42 · 144 阅读 · 0 评论 -
AtomicReferenceFieldUpdater笔记
详见:AtomicReferenceFieldUpdater源码阅读笔记作者:凌霄~来源:CSDN原文:https://blog.csdn.net/pengjx2014/article/details/82710186转载 2019-06-13 15:57:20 · 276 阅读 · 0 评论 -
一致性哈希算法原理
转载自:一致性哈希算法原理一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过m...转载 2019-03-13 22:54:58 · 161 阅读 · 0 评论 -
Java程序编译和运行的过程
转载自:Java程序编译和运行的过程 Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程。 如下图,Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(ByteCode) 2、字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言( ...转载 2018-08-18 17:31:28 · 301 阅读 · 0 评论 -
Java 之 Serializable 序列化和反序列化
转载自:Java 之 Serializable 序列化和反序列化 遇到这个 Java Serializable 序列化这个接口,我们可能会有如下的问题a,什么叫序列化和反序列化b,作用。为啥要实现这个 Serializable 接口,也就是为啥要序列化c,serialVersionUID 这个的值到底是在怎么设置的,有什么用。有的是1L,有的是一长串数字,迷惑ing。我刚刚见到这个关...转载 2018-08-18 16:56:16 · 444 阅读 · 0 评论 -
annotation(@Retention@Target)详解
转载自:annotation(@Retention@Target)详解一、注解:深入理解JAVA注解 要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。1、元注解(meta-annotation): 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotat...转载 2018-08-09 22:58:57 · 279 阅读 · 0 评论 -
深入解析Java反射(1) - 基础
转载自:深入解析Java反射(1) - 基础因为本人最近正筹备Samsara框架的开发,而其中的IOC部分非常依靠反射,因此趁这个机会来总结一下关于Java反射的一些知识。本篇为基本篇,基于JDK 1.8。一、回顾:什么是反射?反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。Oracle官方对反射的解释是...转载 2018-03-05 17:45:45 · 282 阅读 · 0 评论 -
mark
1.Java并发编程:volatile关键字解析2.Java transient关键字使用小记3.Java:传值还是传引用?4.在java中String类为什么要设计成final?5. Java 枚举(enum) 详解7种常见的用法6. 青蛙跳台阶问题7.Java并发编程之CAS...原创 2018-03-18 00:24:25 · 221 阅读 · 0 评论 -
JAVA 对象引用,以及对象赋值
转载自:JAVA 对象引用,以及对象赋值Java对象及其引用关于对象与引用之间的一些基本概念。 初学Java时,在很长一段时间里,总觉得基本概念很模糊。后来才知道,在许多Java书中,把对象和对象的引用混为一谈。可是,如果我分不清对象与对象引用, 那实在没法很好地理解下面的面向对象技术。把自己的一点认识写下来,或许能让初学Java的朋友们少走一点弯路。 为便于说...转载 2018-03-04 18:28:57 · 187 阅读 · 0 评论 -
Map.Entry 类使用简介
转载自:Map.Entry 类使用简介你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下:Set keys = map.keySet( );if(keys != null) {Iterator iterator = keys.iterator( );while(iterator.hasNext( )...转载 2018-02-23 17:17:36 · 289 阅读 · 0 评论 -
mark
1.Struts2工作原理解析 Struts2架构解析2.深入解析SpringMVC的工作原理 SpringMVC工作原理概述3.SpringMVC与Struts2区别与比较总结 Spring MVC原理及配置详解4.Linux指令5.【数据结构】链表的原理及java实现6.排序 数据结构 面试7.HTTP Mysql Java Web learning8.Java过滤器与Spr...原创 2018-03-09 22:35:22 · 178 阅读 · 0 评论 -
深入浅出JMS--Spring和ActiveMQ整合的完整实例
转载自:深入浅出JMS(四)--Spring和ActiveMQ整合的完整实例第一篇博文深入浅出JMS(一)–JMS基本概念,我们介绍了JMS的两种消息模型:点对点和发布订阅模型,以及消息被消费的两个方式:同步和异步,JMS编程模型的对象,最后说了JMS的优点。第二篇博文深入浅出JMS(二)–ActiveMQ简单介绍以及安装,我们介绍了消息中间件ActiveMQ,安装,启动,以及优缺点。第三篇博文深...转载 2018-02-22 16:29:35 · 236 阅读 · 0 评论 -
java项目转web项目的时候没有Dynamic Web Module
1.打开。setting里的org.eclipst.wst.commom.project.facets.core.xml文件2.改成如下内容: wst.jsdt.web"/> wst.jsdt.web" version="1.0"/> jst.web" version="3.0"/> 3.重启eclipse转载自:点击打开链转载 2017-09-28 18:04:54 · 1581 阅读 · 0 评论 -
部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi
Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL 严重: Error configuring application listener of class org.springframework.web.context.Conte转载 2017-09-28 18:03:09 · 309 阅读 · 0 评论 -
postgresql扩展uuid
参考Postgresql: UUID的使用一文中的第一种方法,在pgAdmin中输入命令:create extension "uuid-ossp" 然得到错误:ERROR: could not open extension control file "/usr/share/pgsql/extension/uuid-ossp.control": No such file or direct原创 2017-05-09 15:20:47 · 1507 阅读 · 0 评论 -
UUID做主键,好还是不好?这是个问题。
转载自:UUID做主键,好还是不好?这是个问题。参考:以前对UUID的了解很少,只知道是128位整数(16字节)的全局唯一标识符(Universally Unique Identifier)。刚才google了下,算是有了点深入的了解。UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成UUID的API。UUID按照开放软件基转载 2017-05-09 14:20:32 · 2336 阅读 · 0 评论 -
shiro的学习
近日参照eson_15博主的博客,学习了一下shiro,文章列表如下,以备后时查阅。1.【Shiro】Apache Shiro架构之身份认证(Authentication)2.【Shiro】Apache Shiro架构之权限认证(Authorization)3.【Shiro】Apache Shiro架构之集成web4.【Shiro】Apache Shiro架构之自定义realm原创 2017-05-16 16:12:40 · 310 阅读 · 0 评论 -
Integer与int的比较
转载自:Integer与int的种种比较你知道吗如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false?估计就有一部分人答不出来了,如果再问一下其他的,估计更多的人会头脑一片混乱。所转载 2017-05-02 13:58:12 · 279 阅读 · 0 评论 -
DBUtils学习资源列表
见下述博客所写:1.开源框架:Apache的DBUtils框架2.开源框架:DBUtils使用详解3.dbutils基本使用原创 2017-04-19 11:13:52 · 228 阅读 · 0 评论 -
JNDI是什么
转载自JNDI是什么JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。那么,JNDI到底起什么作用?要了解JNDI的作用,我们可以从“如果不用JNDI我们怎样做?用了JNDI后我们又将怎样做?”这个转载 2017-04-19 10:39:01 · 393 阅读 · 0 评论 -
CRC16算法的Java实现
1、算法CRC 是先调入一值是全“1”的 16 位寄存器,然后调用一过程将消息中连续的 8 位字节各当前寄存器中的值进行处理。仅每个字符中的 8Bit 数据对 CRC 有效,起始位和停止位以及奇偶校验位均无效。CRC 校验字节的生成步骤如下:装一个 16 位寄存器,所有数位均为 1。取被校验串的一个字节与 16 位寄存器的高位字节进行“异或”运算。运算结果放入这个 16 位转载 2017-03-23 17:35:55 · 794 阅读 · 0 评论 -
Hibernate实体关系映射—Annotation
转载自 Hibernate实体关系映射—Annotationhibernate实体关系映射分为: 单边一对一,双边一对一; 单边一对多,单边多对一; 双边一对多,双边多对一; 单边多对多,双边多对多; 以及主键相同的单双边一对一。下面分别总结这几种关系映射的注解方法:1. 单边一对一和双边一对一 单边一对一:比如一个转载 2017-03-02 16:35:26 · 265 阅读 · 0 评论 -
在练习ssh项目时遇到的问题及解决方法
1.通配符的匹配很全面, 但无法找到元素 'context:property-placeholder' 的声明 2.报下错时,需要导入struts2-spring-plugin-2.2.1.jar包严重: Exception starting filter struts2Unable to load configuration. - action - file:/F:/Tomcat7.0/w原创 2017-02-08 10:37:28 · 1016 阅读 · 0 评论 -
GeoJson的生成与解析
了解geojson:GeoJSON格式规范说明导入jar包:gt-geojson-9.3.jar,json-simple-1.1.1.jar,jts-1.8.jar1.由wkt格式的geometry生成geojson: /** * 由wkt格式的geometry生成geojson * @param wkt * @return */ public static原创 2017-02-07 11:03:25 · 13303 阅读 · 5 评论 -
log4j相对路径的配置
将Java项目打包成可执行jar包,运行在Linux系统下,使用crontab设置成定时运行时,其中利用log4j配置的应每天产生一个日志,然而并没有,应是路径问题。现用如下方式解决,记录下来,以备后用。 log4j.properties的配置如下:(在控制台输出,并每天生成一个文件)此间通过log_home设置相对路径,在Java程序中写成如下:原创 2016-10-20 16:47:26 · 2898 阅读 · 0 评论 -
近期遇到小知识点总结
一、定时同步器Timer是一种工具类,在Java.util包中,线程用其安排以后在后台线程中执行的任务,可安排任务执行一次,也可以定期重复执行。它的构造函数如下:Timer(boolean isDaemon) //创建一个新计时器,可以指定其相关的线程作为守护程序运行。 守护线程:当主线程结束后,该线程也结束的线程。非守护线程:当主线程结束后,该线程仍然继续执行。原创 2017-07-21 14:51:14 · 241 阅读 · 0 评论