![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java技术
山里樵夫俗称大叔
这个作者很懒,什么都没留下…
展开
-
Java细节:字符串的拼接之是否产生中间临时字符串对象?
不可变的String对象在Java中,String对象是不可变的(Immutable)。在代码中,可以创建多个某一个String对象的别名。但是这些别名都是的引用是相同的。比如s1和s2都是”droidyue.com”对象的别名,别名保存着到真实对象的引用。所以s1 = s2;String s1 = "droidyue.com";String s2 = s1;System.转载 2016-10-23 09:36:58 · 1160 阅读 · 0 评论 -
Java利用MessageDigest获取字符串或文件MD5详解
MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性。用术语讲,MD5是一种消息摘要算法(Message Digest Algorithm)。另外还有一种常用的消息摘要算法SHA1。如果想了解这些的话,可以去百度百科:MD5、SHA1、消息摘要算法。 Java已经实现了MD5、SHA1算法。利用java.security.MessageDigest类就可以获取字符串和文件的M转载 2016-11-14 08:38:51 · 286 阅读 · 0 评论 -
java 实现字符串以及文件的md5、sha计算完整代码
package encryption;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class Encryp { // 私有话无参构造方法 private Encryp() { } private static Encryp instance =原创 2016-11-14 10:06:18 · 2723 阅读 · 0 评论 -
java计算文件大小三种方法以及优缺点比较
1、通过File 的length() 方法计算文件大小;2、使用FileInputStream后通过FileChannel的size方法计算文件大小;3、通过FileInputStream的available()方法计算文件大小;代码示例:package encryption;import java.io.File;import java.io.FileInputSt原创 2016-11-14 21:32:36 · 29308 阅读 · 0 评论 -
java中局部变量和全局变量
java区分局部变量和全局变量1、局部变量: 局部变量的定义:定义在方法中的变量都是局部变量(main方法也是方法,所以定义在main方法中的变量也是局 部变量)。 生存时间:局部变量的生存时间和方法的生存时间一致,调用该方法声明该局部变量并初始化的时,该局部变量被创建并分配内存空间;直到该...原创 2016-12-11 23:59:18 · 13128 阅读 · 4 评论 -
java 父类引用指向子类对象---动态绑定之易错点详解
知识点:1、java 中父类引用指向子类对象时动态绑定针对的只是子类重写的成员方法;2、父类引用指向子类对象时,子类如果重写了父类的可重写方法(非private、非 final 方法),那么这个对象调用该方法时默认调用的时子类重写的方法,而不是父类的方法;3、对于java当中的方法而言,除了final,static,private 修饰的方法和构造方法是前期绑定外,其他的方法全部为动态原创 2016-11-22 16:56:38 · 2507 阅读 · 3 评论 -
java 基本数据类型的转换相关问题
* 进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的1、byte、short、int、char 这四个数据类型在左运算的时候默认会隐身的转换成int类型的数据再进行计算,返回结果也是int类型的;例如: byte a = 1; byte b = 2; byt原创 2016-12-01 00:04:21 · 253 阅读 · 0 评论 -
mysql数据库int(5)以及varchar(20)长度表示的是什么?
在mysql5.x版本的数据库中:int类型数据的字节大小是固定的4个字节;但是int(5)和int(11)区别在于,显示的数据位数一个是5位一个是11位,在开启zerofill(填充零)情况下,若int(5)存储的数字长度是小于5的则会在不足位数的前面补充0,但是如果int(5)中存储的数字长度大于5位的话,则按照实际存储的显示(数据大小在int类型的4个字节范围内即可),也就是原创 2017-03-05 01:13:00 · 15477 阅读 · 0 评论 -
jsp在悄悄的创建session !!!
jsp文件是session创建的一个源头,这里指的不是在jsp文件中用代码或者标签来操作session,这些都是在控制中的。容易忽视或者说根本就不会意识到的(比如我,就是写jsp三年后才发现的)是,jsp有自动创建session的机制,在jsp页面中,如果没有明确的给出 ,jsp页面会非常乖巧(如果刚好需要)或者说是偷偷摸摸(如果不需要)的自动在生成的java文件中增加一句: javax.se转载 2017-03-05 23:07:01 · 981 阅读 · 0 评论 -
为什么 接口只用于定义类型,不应该使用常量接口 ?
接口只用于定义类型,不应该使用常量接口2014-12-10 且看且珍惜 文章来源 阅 1247 转 6转藏到我的图书馆微信分享:《Effective Java》中说的感觉比较合理,貌似这个问题也是这里提出的,后面那篇是一开始搜到的,也有点用,反正就是不要这么使用就对了。《Effective Java》第19条:转载 2017-03-12 00:12:40 · 1681 阅读 · 1 评论 -
常量接口 vs 枚举常量类
常量接口 vs 枚举常量类原文:http://caerun.iteye.com/blog/458439把常量定义在接口里与类里都能通过编译,那2者到底有什么区别呢?那个更合理? 1. 常量接口 Java代码 public interface ConstInterfaceA { public static fin转载 2017-03-12 00:17:41 · 642 阅读 · 0 评论 -
java.util.Arrays.asList 的小问题
java.util.Arrays.asList 的小问题 JDK 1.4对java.util.Arrays.asList的定义,函数参数是Object[]。所以,在1.4中asList()并不支持基本类型的数组作参数。 JDK 1.5中,java.util.Arrays.asList的定义,函数参数是Varargs, 采用了泛型实现。同时由于autoboxing的支持,使得可以转载 2017-03-13 14:16:25 · 371 阅读 · 0 评论 -
java常量类的一种定义方式
package cn.itcast.estore.util;public final class Constant { private Constant() { super(); } /*************************************** Common常量列表 ************************************************原创 2017-03-13 14:20:28 · 2803 阅读 · 0 评论 -
Java 将字节数组转化为16进制的多种方案
Java 将字节数组转化为16进制的多种方案 转载自:http://blog.csdn.net/lmj623565791/article/details/23609929很多时候我们需要将字节数组转化为16进制字符串来保存,尤其在很多加密的转载 2016-11-14 08:09:39 · 327 阅读 · 0 评论 -
Java final 关键字到底修饰了什么?
final使得被修饰的变量"不变",但是由于对象型变量的本质是“引用”,使得“不变”也有了两种含义:引用本身的不变,和引用指向的对象不变。 引用本身的不变: final StringBuffer a=new StringBuffer("immutable"); final StringBuffer b=new StringBuffer("not immutable"); a=b;//编转载 2016-10-19 20:46:48 · 298 阅读 · 0 评论 -
Java中泛型的生存时间(泛型只存在于编译期)
Java中在使用集合的是往往会涉及泛型,那么泛型在Java中的生存时间是多少呢? 当我问这个问题的时候可能有的人不是太明白怎么还会有这么奇怪的问法。是的,问的就是Java中泛型的生存时间是多少,泛型的作用是申明集合中存储元素的类别,避免存储元素类型不统一混乱。 ArrayList list = new ArrayList(); list.add(111); li原创 2016-10-19 20:51:15 · 6210 阅读 · 3 评论 -
java 中 byte,short,int,long的取值范围
java 中整数型 数据类型取值范围:byte类型:占用字节数:1字节占用位数:8位最大值:27-1 (127)最小值:-27 (-128) short类型:占用字节数:2字节占用位数:16位最大值:215-1 (32 767)最小值: -215。(-32 768)int类型:占用字节数:4字原创 2016-10-24 16:03:30 · 3345 阅读 · 0 评论 -
Java中的字符串常量池详解--转载自技术小黑屋
Java中的字符串常量池Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";,另一种就是使用new这种标准的构造对象的方法,如String str = new String("droid");,这两种方式我们在代码编写时都经常使用,尤其是字面量的方式。然而这两种实现其实存在着一些性能和内存占用的差别。这一切都是源于JVM为了减少字符串对象的重复创建转载 2016-10-23 09:53:23 · 367 阅读 · 0 评论 -
java 中float和double类型数据取值详解
1、定义标准 IEEE754在IEEE754标准中进行了单精度浮点数(float)和双精度数浮点数(double)的定义。float有32bit,double有64bit。它们的构成包括符号位、指数位和尾数位。2、存储结构 float: 1bit(符号位)+8bit(指数位)+23bit(尾数位) double:1bit(符号位)+11bit(指数位)+23原创 2016-10-24 16:23:22 · 1686 阅读 · 0 评论 -
Java中创建字符串的两种方式的区别
我们知道,通常在Java中创建一个字符串会有两种方式,通过双引号直接赋值和通过构造器来创建。然而,这两种方式之间的区别是什么?1、双引号的方式String x = abcd;String y = abcd; System.out.println(x==y);//trueSystem.out.println(x.equals转载 2016-10-17 23:54:26 · 889 阅读 · 0 评论 -
Java String 字符池
Java String 字符池:什么是java中的字符串池?下面我们通过几个程序片段解释说明。(对比结果)1、使用new 创建java 字符串 String a1 = new String("Hello");//在堆内存中创建a1 对象,内容是HelloString a2 = new String("Hello");//在堆内存中创建a2 对象,内原创 2016-10-17 23:57:32 · 476 阅读 · 0 评论 -
java中集合删除元素的两种常用方式及新手易错
java中集合删除元素的两种常用方式及新手易错:创建集合:ArrayList aList = new ArrayList(); aList.add("a"); aList.add("b"); aList.add("c"); aList.add("abc"); aList.add("abc"); aList.add("abc"); aList.add("eye"原创 2016-11-01 15:11:34 · 3684 阅读 · 0 评论 -
Java中获取类的字节码文件的三种方式
第一种方式:全类名的方式获取字节码文件Class class2 = Class.forName("day27.Dog");//通过类名的全路径获取字节码文件第二种方式:通过 类名.class 的方式获取字节码文件Class class1 = Dog.class; //通过类名.class 获取字节码文件第三种方式:通过 对象获取字节码文件Dog dog = new Do原创 2016-10-19 21:49:18 · 4023 阅读 · 1 评论 -
java设计模式-单例设计模式
java设计模式-单例设计模式:1、单例设计-饿汉式package singleton;public class Singleton { /** * 单例设计模式-饿汉式 * */ //私有无参构造方法,防止new创建对象 private Singleton(){} // 自身创建自身对象并私有且静态,将对象共享 private static Sing原创 2016-10-20 19:22:34 · 232 阅读 · 0 评论 -
for和foreach循环的效率对比
不同的for循环效率是不尽相同的:下面做出对比:第一种for循环:(int i = 0; i /* * 第一种for循环,循环体中使用 i < arrayInt.length作为判断语句 * */ for(int i = 0; i < arrayInt.length; i++){ System.out.print(1); }第二种for循环:(int le原创 2016-11-01 14:48:32 · 2493 阅读 · 0 评论 -
java中子类继承父类时是否继承构造方法?
答案是:java中子类是不会继承父类的构造函数但是可以调用父类 Animal:package encryption;public class Animal { private String name = "animal"; public Animal() { System.out.println(".....this is Animal."); } publi原创 2016-11-16 20:08:48 · 2332 阅读 · 0 评论 -
java 中动态代理案例(java.lang.reflect.Proxy)
java中 动态代理的作用:1、可以在不修改源码的情况下,给方法体补充新的功能2、动态代理可以实现降低java代码的耦合性,实现不同功能代码的分离动态代理案例: 代码1:public interface Userpackage day27;public interface User { public abstract void add();原创 2016-10-20 09:46:15 · 330 阅读 · 0 评论 -
System.out.print和System.err.println以及静态和构造函数的输出时的顺序怪异问题???
public class TestCodeSeg{ static { System.out.println("1"); } { System.out.println("2"); } public TestCodeSeg() { System.err.println("3"); }转载 2017-04-02 09:34:32 · 1148 阅读 · 0 评论