
java
文章平均质量分 88
wzyzzu
这个作者很懒,什么都没留下…
展开
-
史上最全spring注解,没有之一
1.@Configuration注解该类等价 与XML中配置beans,相当于Ioc容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean,与xml中配置的bean意思一样。@Configuration注解的类必需使用<context:component-scanbase-package=”XXX”/>扫描.如下:[html]view ...转载 2019-10-16 13:53:22 · 354 阅读 · 0 评论 -
七年阿里老人谈新人成长
作者加入阿里已近7年,常为新人解答疑问,在诸多答案中,他将最有价值的总结于此。作者说,解答或许不一定都对,但却是真心话。有些事自己也不一定实践得好,他也在学习中,但要先具备这种意识才行。先做事再做人新同学常有这些困惑,到底是做技术还是做业务?是每天加班加点写代码还是空点时间来看书学习?是先追求广度还是先钻研一门技术?是两耳不闻窗外事一心埋头做事还是和同事打成一片参加各种活动?这些问题也转载 2016-04-08 09:10:06 · 396 阅读 · 0 评论 -
Java安全应用——Bouncy Castle Crypto API
[-]前言j2me安全机制简介Bouncy Castle Crypto API示例代码1生成密钥对2签名3验证签名4加密5解密6证书解析总结参考资料1、前言随着移动商业的不断发展,对于移动用户和无线应用程序开发人员而言,安全性正在成为一个重要方面。无线通信是无线电波拦截容易获取的目标,而无线设备几乎没有任何计算能力来支持所有通信数转载 2016-01-13 17:35:18 · 1562 阅读 · 0 评论 -
一个简单的PDF文件结构的分析
Adobe的PDF参考告诉我们一个PDF文件可以通过下面4个方面来理解: 1. 对象, 一个PDF文档是由一个由基本数据类型组成的数据结构。 2. 文件(物理结构), 决定对象是如何存放在一个PDF文件中的, 它们是如何被访问的,如何被更新的。这个结构是独立于对象的语义的。 3. 文档结构, 说明一些基本的对象类型是如何来表现PDF转载 2015-12-27 15:10:59 · 1476 阅读 · 0 评论 -
PKCS#7格式数字签名验证
名词解释 数字签名:在ISO7498-2标准中定义为:"附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造"。 PKCS#7:也叫做加密消息的语法标准,由RSA安全体系在公钥加密系统中交换数字证书产生的一种加密标准。PKCS#7描述数字证转载 2016-01-27 20:29:19 · 2404 阅读 · 0 评论 -
jdk&jre FAQ
一、the registry refers to a nonexistent java runtime environment installation 系统找不到指定路径查看系统jre变量是否正确Start -> Run -> regeditthen Computer\HKEY_LOOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environ原创 2016-01-26 11:56:59 · 477 阅读 · 0 评论 -
java类加载 FAQ
1、调用child类中的a变量时,但当a在parent中定义时,则不初始化child的静态快。原创 2015-12-23 23:58:31 · 310 阅读 · 0 评论 -
成为JavaGC专家(1)—深入浅出Java垃圾回收机制
对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢?首先可以满足作为一名软件工程师的求知欲,其次,深入了解GC如何工作可以帮你写出更好的Java应用。这仅仅代表我个人的意见,但我坚信一个精通GC的人往往是一个好的Java开发者。如果你对GC的处理过程感兴趣,说明你已经具备较大规模应用的开发经验。如果你曾经想过如何正确的选择GC算法,那意味着你已经完全理解你所开发的应用的特点。当转载 2015-12-23 14:15:05 · 335 阅读 · 0 评论 -
Java VisualVM使用手册
我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualVM就是不错的监控工具.这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到一个比较直观的界面 从左边Applications树中可原创 2015-12-22 15:58:30 · 11233 阅读 · 0 评论 -
JVM 堆内存设置原理
堆内存设置原理JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation转载 2015-12-22 19:12:57 · 457 阅读 · 0 评论 -
JVM性能监控及故障处理工具
阅读目录1、jps2、jstat3、jinfo4、jmap5、jhat6、jstack 本篇我们将介绍JVM常用的一些工具,这些工具将是我们监控JVM状态、处理故障和调优分析的利器。 不过在开始之前,我还是要先车扯两句:工具终归只是帮助我们我们处理问题的,想要快速准确的解决问题,最为关键的还是对内在理论的理解和丰富的实践经验,所以如果对JVM的内存处理机制不了解,还是转载 2015-12-22 19:09:00 · 560 阅读 · 0 评论 -
PDF文件格式分析
一、概述: 结构化的文档格式PDF(Portable Document Format)是由美国排版与图像处理软件公司Adobe于1993年首次提出的。Adobe Reader这款pdf阅读器软件相信大家并不陌生,人们熟知它的原因是因为它的应用相当普及,可能接触过计算机的人中没有几个会不知道它,但是相信也有一部分人注意到Adobe这款软件是因为它频频爆出漏洞的缘故,号称漏洞之王的Adobe转载 2016-01-05 10:01:23 · 5110 阅读 · 0 评论 -
java类
一、IO类1、File类在Java语言的java.io包中,由File类提供了描述文件和目录的操作与管理方法。但File类不是InputStream、OutputStream或Reader、Writer的子类,因为它不负责数据的输入输出,而专门用来管理磁盘文件与目录。作用:File类主要用于命名文件、查询文件属性和处理文件目录原创 2015-12-16 15:41:50 · 307 阅读 · 0 评论 -
Java输入输出流的使用详细介绍
1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。 Java.io是大多数面向数据流的输入/输出类的主要软件包。此外转载 2015-12-16 15:08:14 · 752 阅读 · 0 评论 -
深入 理解 Statement 和 PreparedStatement
一、使用Statement而不是PreparedStatement对象JDBC驱动的最佳化是基于使用的是什么功能. 选择PreparedStatement还是Statement取决于你要怎么使用它们. 对于只执行一次的SQL语句选择Statement是最好的. 相反, 如果SQL语句被多次执行选用PreparedStatement是最好的.PreparedStatement的第一次执行消耗转载 2015-12-16 14:37:07 · 359 阅读 · 0 评论 -
字符,字节和编码
字符,字节和编码[原创文章,转载请保留或注明出处:http://www.regexlab.com/zh/encoding.htm]级别:中级摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问转载 2015-12-16 11:06:03 · 340 阅读 · 0 评论 -
JDBC性能小贴
本文收集了一些用于提升JDBC性能的方法。Java应用或者JavaEE Web应用的性能是很重要的,尤其是数据库后端对应用的性能影响。不知你是否经历过Java、JavaEE web应用非常慢的案例没有(处理一个简单的请求都要花上好几秒的时间用于数据库访问,分页、排序等)。下面这些贴士也许能提升Java应用的性能。它们非常简单同时还可以应用于其它编程语言,如果是用数据库作为后端存储的话。这几转载 2015-10-26 14:37:46 · 329 阅读 · 0 评论 -
Grizzly:Java NIO框架
在Java新I/O API(NIO)出现之前,开发可扩展的服务器应用比较困难。Grizzly NIO框架的设计初衷便是帮助开发者更好地利用Java NIO API,构建强大的可扩展的服务器应用,并提供扩展框架的组件:Web框架(HTTP/S)、WebSocket、Comet等。核心框架内存管理:Grizzly2.0引入了以可以在运行时(runtime)提高内存管理的子系统。该子系统转载 2016-03-31 09:26:11 · 1184 阅读 · 0 评论 -
各种字符编码方式详解及由来(ANSI,UNICODE,UTF-8,GB2312,GBK)
一直对字符的各种编码方式懵懵懂懂,什么ANSI、UNICODE、UTF-8、GB2312、GBK、DBCS、UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们。Let's go! 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。 再转载 2015-12-16 11:56:45 · 1373 阅读 · 0 评论 -
java执行windows 的cmd 命令说明
//获取运行时Runtime rt = Runtime.getRuntime();//获取进程Process p = rt.exec(String[] cmdarray); 或者 Process p = rt.exec(String cmd);如果p不为空,那么要清空if(null!=p){destory p.destory(); p=null;转载 2018-01-29 16:33:37 · 3924 阅读 · 0 评论 -
websocket原理概要
作者:Ovear链接:https://www.zhihu.com/question/20215561/answer/40316953来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP转载 2018-01-20 15:21:53 · 366 阅读 · 0 评论 -
摘要算法
1 SHA1算法简介安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程转载 2017-01-19 11:25:33 · 768 阅读 · 0 评论 -
ASN1编解码实现方法
目 录版本记录 1目 录 1第1章 概述 31.1 背景 31.2 ASN.1概念 31.3 TAG 4第2章 开发工具 42.1 开发库 42.2 辅助工具 5第3章 JavaAsn1Compiler 63.1 定义ASN.1描述文件 63.2 生成java代码 63.2.1 代码生成 6转载 2017-02-09 14:19:09 · 8498 阅读 · 1 评论 -
Base64 编码介绍、Base64编码转换原理、算法
Base64编码,是我们程序开发中经常使用到的编码方法。它是一种基于用64个可打印字符来表示二进制数据的表示方法。它通常用作存储、传输一些二进制数据编码方法!也是MIME(多用途互联网邮件扩展,主要用作电子邮件标准)中一种可打印字符表示二进制数据的常见编码方法!它其实只是定义用可打印字符传输内容一种方法,并不会产生新的字符集!有时候,我们学习转换的思路后,我们其实也可以结合自己的实际需要,构造一些转载 2017-01-18 17:54:38 · 772 阅读 · 0 评论 -
Log4J日志配置详解
一、Log4j简介Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。1、LoggersLoggers组件在此系统中被分为五个级别:DEBUG、INFO转载 2016-12-28 14:15:36 · 321 阅读 · 0 评论 -
java中大数BigInger的使用
BigInteger不是基本数据类型之一,它其实更像String,是Java里的一个类,然而它的初始化方式却没有String那么方便可以直接赋值,而是跟其他自定义的类一样,要调用它的构造器进行初始化。这个类的取值范围原则上是没有上限的,取决于你的计算机的内存,它的构造器有以下几种:BigInteger构造器这里面最好用的应该是BigInger(String val)这个构造器吧,可转载 2016-12-21 11:08:12 · 2818 阅读 · 0 评论 -
用JDK自带的包来解析XML文件(DOM+xpath)
DOM编程不要其它的依赖包,因为JDK里自带的JDK里含有的上面提到的org.w3c.dom、org.xml.sax 和javax.xml.parsers包就可以满意条件了。(1)org.w3c.dom W3C推荐的用于XML标准规划文档对象模型的接口。(2)org.xml.sax 用于对XML进行语法分析的事件驱动的XML简单API(SAX)(3)javax.xml.parsers解转载 2016-07-11 14:36:09 · 4041 阅读 · 0 评论 -
socket与TCP/UDP编程
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊的I/O,Soc转载 2016-06-06 19:14:04 · 497 阅读 · 0 评论 -
字符、字节的概念及其区别
首先我们先看一下这个问题:“Java语言中字符串“学Java”所占的内存空间是几个字节?”,要回答这个问题我们就必须先要清楚什么是“字节”什么是“字符”。 字节(Byte):字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。字节是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制,它是一个8位的二进制数,是一个很具体的存储空间。转载 2016-05-19 00:01:09 · 395 阅读 · 0 评论 -
ASCII字符集详解
http://www.crifan.com/files/doc/docbook/char_encoding/release/webhelp/content/ascii_ctrl_char.html字符编码详解2.1.2. ASCII编码规则2.1.2.1. ASCII字符集中的功能/控制字符2.1.2.1.1. 什么是Function Code功能码或 Func转载 2016-05-18 23:39:42 · 5575 阅读 · 0 评论 -
Twitter-Snowflake,64位自增ID算法详解
Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须分配一条唯一的id,这些id还需要一些大致的顺序(方便客户端排序),并且在分布式系统中不同机器产生的id必须不同。Snowflake算法核心把时间戳,工作机器id,序列号组合在一起。 除了最高位bit标记为不可用以外,其余三组bit占位均可浮动,看具体的业务转载 2016-05-12 09:01:08 · 695 阅读 · 0 评论 -
JUnit4高级篇-由浅入深
JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。先简单解释一下什么是Annotation,这个单词一般是翻译成元数据。元数据是什么?元数据就是描述数据的数据。也就是说,这个东西在Java里面可以用来和public、static等关键字一样来修饰类名、方法名、变量名。修饰的作用描述这个数据是做什么用的,差不多和publ转载 2016-05-10 18:30:22 · 382 阅读 · 0 评论 -
junit3与junit4的区别
Junit4最大的亮点就是引入了注解(annotation),通过解析注解就可以为测试提供相应的信息,抛弃junit3使用命名约束以及反射机制的方法。/** * 被测试类 */package com.stock.finance.service; import java.util.List;import java.util.zip.DataFormatException;转载 2016-05-10 16:02:03 · 1128 阅读 · 0 评论 -
一个工作快八年的老IT人士这几年沉浮总结的职场经验教训
以前我挺喜欢写博客,觉得把心中的想法表达出来非常畅快,并且还能和网上很多人沟通交流,现在我更喜欢把想法留在心中,博客很久没更新了,刚才闲来无事,看看职场话题版块发现很多人都挺迷茫的,所以我写一些个人的职场教训给大家分享一下,希望对我对大家都有用。1、工作的前三年,别那么在乎待遇,甚至在不影响生活的情况下,后面都可以一两年之内不在乎这些,关键是这几年咱要有过硬的本事,要不断学习。2、要加强自转载 2016-04-13 09:15:54 · 586 阅读 · 0 评论 -
命令行编译和运行带backage和带jar的包
一、带backage的:编写一个类,它是按照包的层次编码的,如果此时想通过javac和java命令来编译运行,就需要如下来做:在c:\net\test下建立一个HelloWorld.java的文件,放入C:\,内容如下:package net.test; //注意:这个第一行就是对包进行说明,其中net后面的点其实是目录的意思。public class HelloWorld原创 2015-02-05 18:07:58 · 2623 阅读 · 0 评论 -
Java下SSL的使用
实现技术:JSSE(Java Security Socket Extension)是Sun为了解决在Internet上的实现安全信息传输的解决方案。它实现了SSL和TSL(传输层安全)协议。在JSSE中包含了数据加密,服务器验证,消息完整性和客户端验证等技术。通过使用JSSE,可以在Client和Server之间通过TCP/IP协议安全地传输数据。为了实现消息认证。Server转载 2015-04-08 15:08:27 · 547 阅读 · 0 评论 -
Generate certificate in Java -- Certificate chain
In previous post, we have introduced the use of Certificate and how to generate self signed certificate using Java. In this post, we will show you how to generate a certificate chain. Sometimes we m转载 2015-01-07 09:48:05 · 1042 阅读 · 0 评论 -
Different types of keystore in Java -- JKS
JKS is Java Keystore, a proprietary keystore type designed for Java. It can be used to store private keys and certificates used for SSL communication, it cannot store secret keys however. The keytool转载 2015-01-07 09:16:00 · 1121 阅读 · 0 评论 -
keystore 介绍
Keytool 是一个有效的安全钥匙和证书的管理工具. Java 中的 keytool.exe (位于 JDK\Bin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。Keytool 把钥匙和证书转载 2015-01-07 10:41:30 · 396 阅读 · 0 评论 -
Java Base64加密、解密原理Java代码
Base64是什么:Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和转载 2015-01-07 15:08:35 · 440 阅读 · 0 评论