随笔分类 - Java基础
Java使用说明书,并未深入其实现原理。
摘要:我不是要做一门编程语言,了解这个对我现在的工作也没什么帮助,纯粹好奇而已。 传送门
阅读全文
摘要:转自:http://lihengzkj.iteye.com/blog/1090034 以前不知道在循环中可以使用标签。最近遇到后,举得还是有其独特的用处的。我这么说的意思是说标签在循环中可以改变循环执行的流程。而这种改变不是我们以前单独使用break或者是continue能够达到的。下面还是看看实例
阅读全文
摘要:以下两篇文章,看了基本就懂了,尤其第二篇http://blog.51cto.com/yaocoder/1308899 https://blog.csdn.net/woaixiaopangniu521/article/details/70279143
阅读全文
摘要:代理和装饰做法是一样的。 只是对同一种做法的不同侧重点进行定义。 装饰一般用于继承的解耦,会增加一些新的方法,作为装饰方法。 代理则不增加新方法,会在被代理对象的行为前后加点料。代理上网就是一个典型,在上网前后加了点操作 个人见解仅供参考
阅读全文
摘要:这是一个开放性话题,没有绝对的正确答案,不论那种方式将参数传递过去,最后的执行结果都不会有影响。我写下来也只是抛砖引玉,仅供参考。 方案一、使用自定义对象封装 这个比较容易理解,把所有要传的参数封装成一个对象,各种get set。这种方法个人并没有领悟到真谛。 方案二、网站列表查询页,遍历reque
阅读全文
摘要:群里一个伙计的需求,最后我提出了这种解决方案,不过他觉得多写俩括号增加了调用方的难度。还是先记下来吧,有时间看看还能不能再改造。 1、直接获取时获取不到的,类型被虚拟机擦除了2、利用子类实现父类的泛型是可以的3、这个地方就是借助了这一原理利用了匿名内部类 运行结果:
阅读全文
摘要:可在文本文档中新建以下内容 set JAVA_HOME=C:\jdk1.7.0_67set CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOMe%\lib\tools.jar;set Path=%JAVA_HOME%\bin;java -jar test.jar
阅读全文
摘要:1个,在常量池中创建了一个字符串对象。 2个,在常量池中创建了一个字符串对象"a",在堆中开辟了一个空间又放了一个"a"。 1个,在编译期,jvm将"a"+"b"自动识别成"ab",因此只创建了一个对象,放在常量池中。 4个,第三和第四行,各创建了一个对象,因为对于编译器来说,创建ab1和ab2时候
阅读全文
摘要:通常我们为了规避单例模式下多线程之间共享全局变量的问题,会使用ThreadLocal,不过很多人不知道ThreadLocal里数据的存储方式和我们平时理解的不太一样。 源码解析(直奔主题): 每个线程都有一个ThreadLocalMap对象: 这个Map里存了所有线程变量中保存的数据,保存的方式:
阅读全文
摘要:今天自己写了一个Java的运行时加载类。 目录结构如下: 总共三个java文件,都很简单,代码如下: Main.java: IHello.java Hello.java 首先在javatest目录下,执行 如此会把Main.java和 IHello.java 编译成相应的class 然后再执行 如此
阅读全文
摘要:http://www.cnblogs.com/fangwenyu/archive/2011/10/12/2209051.html
阅读全文
摘要:HashMap不是线程安全的,ConcurrentHashMap则在某一个方法的执行上是线程安全的。 如果是HashMap,put的时候两个线程有一定机率互相干扰,如果是ConcurrentHashMap,则不会干扰。 以上代码HashMap改为ConcurrentHashMap就不会异常了。 详细
阅读全文
摘要:5.0的多线程任务包对于同步的性能方面有了很大的改进,在原有synchronized关键字的基础上,又增加了ReentrantLock,以及各种Atomic类。了解其性能的优劣程度,有助与我们在特定的情形下做出正确的选择。 总体的结论先摆出来: synchronized: 在资源竞争不是很激烈的情况
阅读全文
摘要:我们都知道在Java语言的接口中只能定义方法名,而不能包含方法的具体实现代码。接口中定义的方法必须在接口的非抽象子类中实现。下面就是关于接口的一个例子: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public interface SimpleInterface { pu
阅读全文
摘要:ThreadLocal可以定义线程范围的变量,也可以称之为线程局部变量。与一般的变量的区别在于,生命周期是在线程范围内的。 也就是说某个类的某个对象(为清晰描述,以下称A对象)里面有个ThreadLocal变量, 那么每开一个线程,在线程中第一次调用A对象,都会先初始化该变量的值,并且不会对其他线程
阅读全文
摘要:RSA是一种非对称加密算法,使用RSA前先生成一对公钥和私钥。 使用公钥加密的数据可以用私钥解密,同样私钥加密的数据也可以用公钥解密, 不同之处在于,私钥加密数据的同时还可以生成一组签名,签名是用来验证数据是否在传输过程中有变动的,使用公钥、签名、以及公钥加密后的数据,就可以验证是否有变动,当然也可
阅读全文
摘要:AES是一种对称加密方式,比DES更为安全,用一个秘钥加密数据之后,可以用同一个秘钥对加密后的数据解密还原,以下是一套以字符串为例子的使用全过程演示, 用到了
阅读全文
摘要:采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到
阅读全文
摘要:另一种2进制转16进制的方式
阅读全文