java
文章平均质量分 64
魏大宾
这个作者很懒,什么都没留下…
展开
-
Java并发编程:volatile关键字解析
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模转载 2015-01-31 14:57:24 · 685 阅读 · 0 评论 -
Java中arraylist和linkedlist源码分析与性能比较
Java中arraylist和linkedlist源码分析与性能比较1,简介在java开发中比较常用的数据结构是arraylist和linkedlist,本文主要从源码角度分析arraylist和linkedlist的性能。2,arraylist源码分析 Arraylist底层的数据结构是一个对象数组,有一个size的成员变量标记数组中原创 2016-04-05 14:17:59 · 2056 阅读 · 0 评论 -
Arraylist和linkedlist的性能测试
1,通过源码角度分析Arraylist和 linkedlist的性能如下: Add()Remove(int i)Set(int i, E e)Get(int i)ArraylistO(1)-O(N)O(N)O(1)O(1)Linkedlist原创 2016-04-06 13:45:59 · 662 阅读 · 0 评论 -
Java基础学习总结——Java对象的序列化和反序列化
这篇文章讲序列化和反序列化,感觉讲的比较透彻。一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,转载 2016-03-22 15:29:06 · 1630 阅读 · 0 评论 -
多线程状态下HashMap和ConCurrentHashMap的运行比较
在项目实践中,有的时候会使用单例模式来创建一些对象,这些对象在有两个特点,1,整个内存中只有一个备份,2,操作的时候需要单线程操作。而这些对象有需要一些缓存数据。比如一个日志收集系统,收到数据之后,可以使用一个全局的单例的WebSocket池,根据不同的需求将数据发送到不同的用户。这个websocket池,就可以定义一个全局的单例websocketsession对象,然后将用户名和session以原创 2015-01-28 15:24:02 · 1298 阅读 · 0 评论 -
Java中的序列化Serialable高级详解
这篇文章将序列化和反序列化也比较清楚[-]引言文章结构序列化 ID 问题清单 1 相同功能代码不同序列化 ID 的类对比图 1 案例程序结构静态变量序列化清单 2 静态变量序列化问题代码父类的序列化与 Transient 关键字图 2 案例程序类图对敏感字段加密清单 3 静态变量序列化问题代码图 3 数据加密演示序列化存储规则转载 2016-03-24 16:44:57 · 343 阅读 · 0 评论 -
Java对象克隆(Clone)及Cloneable接口、Serializable接口的深入探讨
这篇文章讲java的克隆机制,感觉也是很经典Part I没啥好说的,直接开始Part II吧。 Part II谈到了对象的克隆,就不得不说为什么要对对象进行克隆。Java中所有的对象都是保存在堆中,而堆是供全局共享的。也就是说,如果同一个Java程序的不同方法,只要能拿到某个对象的引用,引用者就可以随意的修改对象的内部数据(前提是这个对象的内部数据通过get转载 2016-03-25 16:46:43 · 601 阅读 · 0 评论 -
远程debug调试java代码
远程debug调试java代码日常环境和预发环境遇到问题时,可以用远程调试的方法本地打断点,在本地调试。生产环境由于网络隔离和系统稳定性考虑,不能进行远程代码调试。整体过程是通过修改远程服务JAVA_OPTS参数,然后本地通过Eclipse或IDEA等工具调试。下面简单介绍下理论。 理论JPDA(Java Platform Debugger Architecture)是Java平台调试体系结构的缩...转载 2018-06-13 10:50:42 · 280 阅读 · 0 评论 -
maven 错误 invalid CEN header (bad signature)
一、发现问题右击pom.xml,run as —> maven install,会看到console中有时报mavenRepository\repos\org\mortbay\jetty\servlet-api-2.5\6.1H.14.1\servlet-api-2.5-6.1H.14.1.jar时出错等某些包的报错等类似信息,pom.xml显示红叉。 二、原因分析该包没有下载正确。 三、解...转载 2018-06-11 09:10:45 · 9083 阅读 · 0 评论 -
通过Apache CXF采集数据时单次请求的性能总结
通过Apache CXF采集数据时单次请求的性能总结1,简介 Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。可以使用Apache CXF提供一些WebService服务。Apache CXF可以支持Soap和Rest协议。在实际项目中可以将Apache CXF通过Soap和Rest协议采集数据做为服务器端基础架构。我们可以通过Re原创 2016-03-01 09:48:21 · 1411 阅读 · 0 评论 -
通过Apache CXF采集数据时多线程请求的性能总结
1,简介 Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。可以使用Apache CXF提供一些WebService服务。Apache CXF可以支持Soap和Rest协议。在实际项目中可以将Apache CXF通过Soap和Rest协议采集数据做为服务器端基础架构。我们可以通过Rest和SOAP协议来采集数据。本篇文章主要研究的是通过S原创 2016-03-29 14:25:55 · 3014 阅读 · 0 评论 -
java单例模式
【深入】java 单例模式 关于单例模式的文章,其实网上早就已经泛滥了。但一个小小的单例,里面却是有着许多的变化。网上的文章大多也是提到了其中的一个或几个点,很少有比较全面且脉络清晰的文章,于是,我便萌生了写这篇文章的念头。企图把这个单例说透,说深入。但愿我不会做的太差。 首先来看一个典型的实现: 1 /** 2 * 基础的单例模式,Lazy模式,非线程安全转载 2015-01-26 11:01:23 · 389 阅读 · 0 评论 -
java反射详解
本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名和类名123456789101112131415package Reflect;转载 2015-04-21 10:25:40 · 300 阅读 · 0 评论 -
再探java基础——throw与throws
再探java基础——throw与throws以前虽然知道一些异常的处理,也用过一些,但是对throw和throws区别还是有不太清楚。今天用实例测试一下。异常处理机制异常处理是对可能出现的异常进行处理,以防止程序遇到异常时被卡死,处于一直等待,或死循环。异常有两个过程,一个是抛出异常;一个是捕捉异常。抛出异常抛出异常有三种形式,一是throw,一个t转载 2015-06-16 09:59:35 · 455 阅读 · 0 评论 -
java根据汉字获取拼音的方法
在项目实践中有时会用到汉字拼音做匹配,最典型的就是火车票售票系统中的拼音匹配。 通过网上的一些搜索,可使用的jar包如下:com.belerwebpinyin4j2.5.0 实现方法如图:原创 2015-10-20 15:38:25 · 3613 阅读 · 0 评论 -
使用WebSocket来区分IE的刷新和关闭
在Web开发中有时需要在IE浏览器关闭时做一些事情,但是在javascript中区分浏览器的刷新和关闭时一件比较困难的事情,网上给出的大部分方案是按照浏览器上各个图标的位置来确定,但浏览器进行缩放的时候位置会发生变化,所以这种方案有一定的局限性,本文给出一中使用websocket和多线程在服务器端来区分浏览器是刷新或者关闭的方法。 代码如下图: 在原创 2015-10-20 16:56:38 · 8831 阅读 · 4 评论 -
用java实现视频截帧的方法
在软件系统中有时在wed端、移动端显示视频时,如果同时显示多个视频,有可能会将多个视频的数据全部装入内存,在一定程度上回影响系统性能。比较好的一中解决方案是显示视频的一帧图片,点击图片之后即可播放视频,是一种比较节省内存的方法,大型的网站很多也使用此方法,本篇文章主要是介绍如何用java调用FFmpeg解决视频截图的问题。FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流原创 2015-10-20 16:11:16 · 19357 阅读 · 0 评论 -
java多线程并发去调用一个类的静态方法安全性探讨
这篇文章主要讲多线程对静态方法访问的数据安全性总结如下:1,java在执行静态方法时,会在内存中拷贝一份,如果静态方法所在的类里面没有静态的变量,那么线程访问就是安全的,比如在javaee中服务器必然会多线程的处理请求此时如果设计全局需要调用的静态方法,可用此种设计。2,java在执行静态方法时,如果使用静态变量,同事类的设计时使用到了静态数据,最好在调用函数时使用synchr转载 2016-02-26 15:34:31 · 21179 阅读 · 1 评论 -
java字符编码
这篇文章讲字符编码感觉比较透彻。何为字符编码(名词):计算机中的任何信息它们都以0和1的方式存入计算机并得以处理,这些信息用哪些二进制数字来表示了,就需要一套规则,这套规则就是字符编码(Character Code),比如,同样一个字母'A',每种规范里面的表达存储方式不一样,ASCII是001,GB2312是002,没以下都是它的规则,如:ASCII编码表、GB2312编码表、GBK编码转载 2016-01-15 14:54:18 · 511 阅读 · 0 评论 -
图解ByteBuffer
ByteBuffer前前后后看过好几次了,实际使用也用了一些,总觉得条理不够清晰。《程序员的思维修炼》一本书讲过,主动学习,要比单纯看资料效果来的好,所以干脆写个详细点的文章来记录一下。概述ByteBuffer是NIO里用得最多的Buffer,它包含两个实现方式:HeapByteBuffer是基于Java堆的实现,而DirectByteBuffer则使用了unsafe的API进行了堆外...转载 2018-08-17 14:12:21 · 214 阅读 · 0 评论