`
文章列表
                       JAVA常用加密技术加密    最近看到公司一个以前项目的MD5加密方式,让我对JAVA加密感觉到一些兴趣,但是公司的MD5加密是自己写的一个MD5工具类算法类进行加密。但窝了解到一些其他的加密方式。    一、DES加密    DDES(Data Encryption Standar 数据加密标准算法)是一种常见的对称密钥加密算法,加密者使用密钥对原文加密,解密者必须使用相同的密钥才能对密文进行解密。    重点在KeyGenerator、Cipher、和Key类的使用 import java.io.FileInputStream; impo ...

jvm常用设置

    博客分类:
  • java
在我们实际工作中,可能会经常对JVM有一些设置,但是很多设置都是知其然不知其所以然,今天找了下资料,归纳一下: -Xms:java Heap初始大小, 默认是物理内存的1/64。 -Xmx:ava Heap最大值,不可超过物理内存。 -Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一 。增大年轻代后,将会减小年老代大小,可以根据监控合理设置。 -Xss:每个线程的Stack大小,而最佳值应该是128K,默认值好像是512k。 -XX:PermSize:设定内存的永久保存区初始大小,缺省值为64M。 -XX:MaxPermSize:设定内存的永久保存区最大大小 ...
转载:   (一)深入浅出理解索引结构         实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类 ...
   之前由于工作需要,也接触到一些webService相关的开发,但是自己一直对webService不是很理解,自己几次使用webService感觉效果也不是很理想,感觉效率较低,后面都是使用httpClient来实现 交互,在最近看了《java中间件》中关于we ...

java RMI

    博客分类:
  • java
             JAVA RMI相关    分布式计算是解决大型应用的一种重要手段。它指的是一种应用程序的设计模式,其中的程序,所处理的数据和计算能力都分布于网络中。这样可以很好地平衡各个计算机的处理能力。    套接字:套接字(socket)为两台计算机之间的通信提供了一种机制,让您不必了解底层操作系统的细节就能有效地使用套接字,使用套接字是实现程序间通信最为灵活和强大的方式,但是它必须通过应用级协议进行通信,要求应用程序之间使用同样的协议,并且要求设计通信过程中的错误判断。    JMS(JAVA MESSAGING SERVICE),采用JMS 服务,对象是在物理上被异步从网 ...
经常使用hibernate,在使用hibernate的时候经常使用到DBCP和C3P0的连接池,某天自己突然想起自己来实现一个连接池。test了下,效果还可以,随记录之 import java.sql.Connection; import java.sql.DriverManager; import java.util.Stack; public class ConnManager { private static final int MIN_CONN = 2; private static final int MAX_CONN = 5; private sta ...
有的时候,页面上的下载文件是从后台使用流的形式下载来的,而不是直接使用src,这样有很多好处,资源的路径是隐藏的了,不会再页面处就可以查看到资源。   原理:浏览器接收到后台传来的信息首先要解析的是:content-type,,然后处理数据。这里需要设置content-type为application/zip.浏览器接收到这个content-type就会认为它是一个二进制的压缩文件,就会在窗口提示下载,当然这个文件的content-type可以并不一定是zip压缩文件,可以是任何形式的文件,浏览器只解析服务器告诉它的content-type而不会去解析这个文件用来检查服务器是否欺骗它,它对服务器 ...
package sterning; import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.net.ServerSocket; import java.net.Socket; public class ServerTest {     int port = 8821;     void start() {        ...
MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性。用术语讲,MD5是一种消息摘要算法(Message Digest Algorithm)。另外还有一种常用的消息摘要算法SHA1。如果想了解这些的话,可以去百度百科:MD5、SHA1、消息摘要算法。          Java已经实现了MD5、SHA1算法。利用java.security.MessageDigest类就可以获取字符串和文件的MD5以及SHA1结果。 1.字符串的MD5 public static String stringMD5(String input) { try { ...
     在多线程的开发中经常会碰到数据的并发修改,并发存取,因此正确的使用不同的容器很关键,直接影响到数据的正确性。下面主要记录下三种重要的队列,以及一种非常使用的 双端队列 。 1、同步容器        主要 ...
最近在看java设计模式,看到builder模式感觉十分不错,遂记之,以加深理解和学习、、 public class Hero { private final Profession profession; private final String name; private final HairType hairType; private final HairColor hairColor; private final Armor armor; private final Weapon weapon; public Profession getProfes ...
    1、compareTo(Object o)方法是java.lang.Comparable<T>接口中的方法,当需要对某个类的对象进行排序时,该类需要实现Comparable<T>接口的,必须重写public int compareTo(T o)方法,比如MapReduce中Map函数和Reduce函数处理的 <key,value>,其中需要根据key对键值对进行排序,所以,key实现了WritableComparable<T>接口,实现这个接口可同时用于序列化和反序列化。WritableComparable<T>接口(用于序列化 ...
   在编程中我们经常遇到:ClassNotFoundException / NoClassDefFoundError / NoSuchMethodError / NoSuchMethodException这几个异常和错误。    这事由于jvm加载机制不同引起的,如果我们知道这些知识就能快速判断出问题出在哪儿。     ClassNotFoundException:     当应用程序试图通过类的字符串名称,使用以下三种方法装入类,但却找不到指定名称的类定义时抛出该异常,是显式类装载的抛出的异常。       类 Class 中的 forName() 方法。       类 ClassLoad ...
    声明意味着我们告知spring某个bean的某个方法需要事物管理,之后spring就会保证此方法被调用时,会有对应的事物贯穿其中。次实现方式完全依赖AOP对方法进行拦截。     声明式事务的最大好处在于我们无需修改既有代码。方法实现过程中,我们压根无需为其添加事务管理支持。     xml配置     //..省略 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager& ...
    由于以前没有深入接触到spring,对spring的事物支持不了解,以前自己参与的一些系统中,出现过在业务逻辑层一个小步出错,但是前面的步骤已经持久化,不能回滚。只能通过定时器读取日志,发现出错就删除这条记录。在最近较为深入的了解spring,发现spring对事物的支持能解决这一问题。     一、如果多个数据源(使用spring的jta事物管理策略)     org.springframework.transaction.jta.JtaTransactionManager代理了J2EE容器的JTA子系统,提供了跨越多个资源的分布式事物管理能力,这种事物管理策略必须运行在J2EE应用服 ...
Global site tag (gtag.js) - Google Analytics