
java
Z_DZ
这个作者很懒,什么都没留下…
展开
-
List<T>序列化为byte[]
一、工具类源码public class SerializeUtils { /** * 序列化 * @param obj * @return */ public static byte[] serialize(Object obj) { byte[] result = null; ByteArrayOutputStream baos = new ByteArrayO...原创 2019-10-23 09:57:37 · 2057 阅读 · 0 评论 -
short s1 = 1; s1 = s1 + 1; 和 short s1 = 1; s1 += 1;
short s1 = 1; s1 = s1 + 1;编译不能通过short s1 = 1; s1 += 1;编译可以通过 因为:对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型。而short s1 = 1; s1 += 1;可以正确编译,因为s1+= 1;相当于s1 = (sh...原创 2018-09-08 11:09:01 · 173 阅读 · 0 评论 -
浅谈Java内部类
转自:http://www.cnblogs.com/dolphin0520/p/3811445.html一.内部类基础 在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。 1.成员内部类 成员内部类是最普通的内部类,它的定...转载 2018-08-30 09:17:50 · 138 阅读 · 0 评论 -
Java中异常(Exception)的用法
package com.base.exception;public class Car { String name; public Car() { // TODO Auto-generated constructor stub this.name = ""; } public Car(String name) { // TODO Auto-generated ...原创 2018-09-01 17:38:52 · 7943 阅读 · 1 评论 -
Java实现简单的动态代理
package com.base.proxy;/** * 一个定义功能的接口 */public interface Star { String sing(String name); String dance(String name);}package com.base.proxy;/** * 实现接口的功能类 */public class LDH implem...转载 2018-09-01 17:27:04 · 171 阅读 · 0 评论 -
详解Java中的位操作
在计算机中所有数据都是以二进制的形式储存的。位运算其实就是直接对在内存中的二进制数据进行操作,因此处理数据的速度非常快。在实际编程中,如果能巧妙运用位操作,完全可以达到四两拨千斤的效果,正因为位操作的这些优点,所以位操作在各大IT公司的笔试面试中一直是个热点问题。位操作基础 基本的位操作符有与、或、异或、取反、左移、右移这6种,它们的运算规则如下所示: 1.在这6种操作符,只有...原创 2018-08-28 12:02:03 · 4624 阅读 · 1 评论 -
Maven+SSM框架实现简单邮件的发送
准备工作:1.开启你的qq邮箱的pop3/smtp服务2.获取你的qq邮箱第三方登陆的授权码 具体步骤:1.用电脑登陆你的qq邮箱点击设置 2.点击账户 3.往下找,找到如下选项,如果你的qq有密保需要验证才能开启,开启之后点击生成授权码 4.如果你的qq有密保,需要验证才能获取,获取之后就ok了。用手机拍个照记录一下你的授权码,java代码...原创 2018-08-28 11:33:06 · 1965 阅读 · 0 评论 -
Java中,用接口来声明变量
接口public interface Happy { void SayHappy();}类 public class People implements Happy { @Override public void SayHappy() { // TODO Auto-generated method stub System.out.println("我很快乐!")...原创 2018-08-16 21:44:22 · 6651 阅读 · 0 评论 -
Java中,如何判断一个类是否实现了某个接口
if(对象名 instanceof 接口名){}原创 2018-08-16 21:38:43 · 18022 阅读 · 1 评论 -
关于Java中接口和抽象类的疑问
一、接口Java接口(interface)技术,主要用来描述类具有什么功能,而并不是给出每个功能的具体实现。一个类可以实现一个或多个接口,并在需要接口的地方,随时使用相应接口的对象。 二、有抽象类了为什么还要引入接口概念大家学到接口可能会产生这样一个疑问:既然有了抽象类,为什么Java程序设计语言还要不辞辛苦的引入接口这个概念呢?非常遗憾,使用抽象类表示通用属性会存在这样一个问...原创 2018-08-16 21:30:16 · 220 阅读 · 0 评论 -
Java基本数据类型详解
一、整型类型 大小 范围int: 4字节 -20多亿到+20多亿short: 2字节 -3万多到+3万多long: 8字节 90亿亿级别byte: 1字节 -128到127(1000 0000 到 0111 1111) 注意:long类型赋值,数值末位要加 ...原创 2018-07-07 19:55:54 · 153 阅读 · 0 评论 -
Java中的运算符
一、变量1.变量大小写敏感2.变量的声明可以在代码的任何地方二、常量1.某个常量在一个类中被多个方法使用,可以将它声明为类常量,如下:public static final double AAAA = 2.45;三、运算符1.当 / 号两边都为整数时,表示整数除法;有小数时,为浮点除法。四、数值类型之间转换1.当一个大于1800多万的int转换成float时会...原创 2018-07-07 20:18:40 · 140 阅读 · 0 评论 -
Java中的 == 和 equals()方法到底有什么不同
1.首先,==号在比较基本数据类型时比较的是值,而用==号比较两个对象时比较的是两个对象的地址值我们还会发现。str4 == str2。因为各种字符串存放在公共存储池!!!虽然str2和str4各自初始化了,但是他们实际指向了同一块空间。2.equals()方法存在于Object类中,因为Object类是所有类的直接或间接父类,也就是说所有的类中的equals()方法都继承自Objec...原创 2018-07-08 16:02:31 · 760 阅读 · 0 评论 -
Java运算符大全
算术运算符 操作符 描述 + 加法 - 相加运算符两侧的值 - 减法 - 左操作数减去右操作数 * 乘法 - 相乘操作符两侧的值 / 除法 - 左操作数除以右操作数 % 取余 - 左操作数除以右操作数的余数 ++ 自增: 操作数的值增加1 -- ...原创 2018-09-08 11:17:25 · 1236 阅读 · 1 评论 -
浅谈java.lang包
java.lang是提供利用 Java 编程语言进行程序设计的基础类。 最重要的类是Object(它是类层次结构的根)和 Class(它的实例表示正在运行的应用程序中的类)。还有包装器类 Boolean、Character、Byte、Short、Integer、Long、Float 和 Double 。例如,一个 Double 类型的对象包含了一个类型为 double 的字段,这表示如...原创 2018-09-11 19:29:39 · 2348 阅读 · 0 评论 -
计算机中的有符号数都是以二进制的补码形式存储的
问个问题,以下代码,输出多少?其中 ~ 为Java中位运算符中的取反运算符。int i = 0;System.out.println( ~i ); 正确答案: -1 。 因为变量i为int类型,Java中int类型4个字节(4Byte),也就是32位(32bit)。表示为二进制:(+0):0000 0000 0000 0000 0000 0000 ...原创 2019-02-13 17:57:06 · 4962 阅读 · 0 评论 -
Java父类可以强转为子类吗
今天复习反射的时候,我凭印象写出了如下利用反射生成对象的代码:try { Object objectBigCar = Class.forName( new BigCar().getClass().getName() ).newInstance(); BigCar bigCar2 = ( BigCar )objectBigCar; bigCar2.setLength( 200 )...原创 2019-02-13 17:08:25 · 21954 阅读 · 2 评论 -
Java中的NIO类
Java在jdk1.4中新加入了NIO(new input/output)类,引入了一种基于通道(Channel)与缓冲区(Buffer)的I/O方式,他可以使用Native函数库直接分配堆外内存,然后通过一个存储在Java堆中的DirectByteBuffer对象作为这块内存的引用来操作。这样能在一些场景中显著提高性能。因为避免了在Java堆和Native堆中来回复制数据。...原创 2018-11-07 00:01:22 · 560 阅读 · 0 评论 -
java字面量和符号引用
1.字面量字面量就是直接量,举个例子。String str = "str";int i = 1;"str"和1都是字面量,有别于变量。 2.符号引用符号引用就是某个变量,在编译的时候,无法确定其内存地址。String str = "Hello World!"System.err.println(str);第二行代码中的str在编译的时候就会编译为符号引用。...原创 2018-11-06 23:55:17 · 3200 阅读 · 0 评论 -
Java不可变类
1.不可变类:当类的实例一经创建,其内容便不可改变。 2.Java 中八个基本类型的包装类和 String 类都属于不可变类,而其他的大多数类都属于可变类。 3.不可变类都是线程安全的。...原创 2018-11-06 23:49:30 · 218 阅读 · 0 评论 -
Java中的String,StringBuffer,StringBuilder比较
1.执行效率:StringBuilder > StingBuffer > StringString是字符串常量,每次更改某个字符串,实际上是创建了一个新的字符串,然后重新指向这个新的字符串。如果操作频繁的话,会产生很多无引用的对象,也就是会触发JVM的垃圾回收(GC),进而导致效率变低。StringBuffer和StringBuilder它们属于变量,是可以改变的对象,...原创 2018-11-06 23:43:33 · 215 阅读 · 0 评论 -
java中怎么不用科学计数法表示double
代码:double d = 456897456.1258452974512312;System.out.println(d); DecimalFormat df = new DecimalFormat("0.0000");String num = df.format(d);System.out.println(num); 效果:4.568974561258453E8...原创 2018-10-08 11:24:07 · 4663 阅读 · 0 评论 -
Java128陷阱
Integer a = 1000; Integer b = 1000; if(a == b) { System.out.println("相等"); } //不会输出“相等” Integer a = 127; Integer b = 127; if(a == b) { ...原创 2018-09-13 20:26:19 · 699 阅读 · 0 评论 -
java怎么提取字符串中的img元素的src地址
package com.ruigetech.easyteaching.util;import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @description 截取字符串中的img标签中的src地...原创 2018-09-17 19:30:20 · 6589 阅读 · 2 评论 -
Java中byte类型使用无符号右移运算符(>>>)陷阱
代码:byte b = (byte)(-8 >>> 2);System.out.println(b);你们觉得结果是多少呢?结果是:-2一开始觉得,明明>>>是无符号右移,首位肯定是0啊,所以是正数啊,怎么会是一个负数呢?后来推了一边终于明白了。原因是忽略了-8和2默认都是int类型。接下来,推导一边。 -8对应的二进制为...原创 2018-09-12 20:46:52 · 1800 阅读 · 5 评论 -
Java中float和double类型在内存中的存储结构
float类型(32位):分为:符号位S_指数位E_尾数位M1bit(符号位) 8bits(指数位) 23bits(尾数位) double类型(64位):分为:符号位S_指数位E_尾数位M1bit(符号位) 11bits(指数位) 52bits(尾数位)特别注意的是指数位存放的是补码,底数是2! 具体举例:float f = 8.5f;...原创 2018-09-12 16:42:03 · 4032 阅读 · 1 评论 -
浅谈java.util包
包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期时间工具等各类常用工具包。 常用的有:日期类:Date类。数据结构类:链表类LinkedList,向量类Vector,栈类Stack,队列类Queue,散列表类H...原创 2018-09-11 19:43:16 · 216 阅读 · 0 评论 -
详解Java中的位运算符
60的二进制 11 1100 13的二进制 00 1101原创 2018-07-08 16:15:11 · 200 阅读 · 0 评论 -
Java中的,String类的一些常用方法
package java20180708_1;public class Test218070802 { public static void main(String[] args) { String str1 = "abcdefg"; String str2 = "da"; String str3 = "da"; String str4 = "DA"; Str...原创 2018-07-08 18:07:57 · 165 阅读 · 0 评论 -
Java中的StringBuilder类
有些时候,需要由较短的字符串构建新的字符串,这时候可以用到StringBuilder类package java20180708_1;public class Test2018070803 { public static void main(String[] args) { // TODO Auto-generated method stub StringBuilder ...原创 2018-07-08 18:40:07 · 149 阅读 · 0 评论 -
Java中,父类和子类之间的转换
一、父类引用强转成为子类引用 package learn20180720;public class People { private String name; private Integer age; private Double height; public People(){ this.name = ""; this.age = 0 ; this.heigh...原创 2018-07-20 23:26:31 · 22002 阅读 · 1 评论 -
Java中的抽象类
1.抽象类不能被实例化。2.抽象类中可以没有抽象方法。3.抽象类中的抽象方法必须被该抽象类的子类实现。4.有抽象方法的类必须被声明为抽象类。 package abstractClasses;abstract class Person { private String name; public abstract String getDescription();...原创 2018-07-20 23:41:25 · 251 阅读 · 0 评论 -
Java中的equals方法
Object类中的equals方法用于检测一个对象是否等于另一个对象。在Object类中,这个方法将判断两个对象是否具有相同的引用。getClass方法将返回对象所属的类。instanceof关键字用于判断当前对象是否是属于当前类package instanceof_getClass;class Test { public static void main(String[...原创 2018-07-21 14:29:58 · 213 阅读 · 0 评论 -
Java中hashCode()方法
散列码(hashcode)是由对象导出的一个整形值。散列码,是没有规律的。如果x和y是两个不同的对象,x.hashCode()和y.hashCode()基本上不会相同。 java.util.Object 1.0int hashCode() 返回对象的散列码(对象的存储地址)。 值得注意的是String类重写了hashCode()方法,String对象的散列码是由字符...原创 2018-07-21 15:10:14 · 406 阅读 · 0 评论 -
斜着遍历二维数组
package rectangle;class Test0 { public static void main(String[] args) { // TODO Auto-generated method stub int[][] rectangle = { {1,2,3,4,5}, {1,2,3,4,5}, {1,2,3,4,5}, {1,...原创 2018-07-22 16:09:57 · 3433 阅读 · 1 评论 -
Java笔试题
1.给定以下程序段,如下: int i=0,j=-1;switch(i){ case 0:j=1; case 2:j=2; default:j=5; }System.out.print("j="+j); 编译运行,正确结果的是___5_____ 2.有如下程序段: String unset=null;if(unset.length()>5 && un...原创 2018-07-23 16:02:49 · 502 阅读 · 0 评论 -
Java中什么是自动装箱,什么是自动拆箱
一、自动装箱 假设想定义一个整形数组列表。而尖括号中的类型参数不允许是基本类型,也就是说,不允许写成ArrayList<int>。这里就用到了Integer对象包装器类。我们可以声明一个Integer对象的数组列表。ArrayList<Integer> list = new ArrayList<>(); 幸运的是,有一个很有...原创 2018-07-23 18:56:56 · 2705 阅读 · 0 评论 -
Java中怎么定义参数数量可变的方法
public class Test0 { public static void main(String[] args) { priStr("我","很","好",",","你","呢","?"); } public static void priStr(String...str) { for(int i = 0 ; i &原创 2018-07-23 19:14:10 · 350 阅读 · 0 评论 -
Java中的枚举类
enum Size { SMALL("S"),MEDIUM("M"),LARGE("L"),EXTRA_LARGE("XL"); private String abbreviation; private Size(String abbreviation) { this.abbreviation = abbreviation; } public String ...原创 2018-07-23 19:35:41 · 212 阅读 · 0 评论 -
Java利用反射实例化对象,获取对象的私有属性的值和调用类的私有方法
public class People { private String name; public People(){ this.name = "默认名字"; } public People(String str) { name = str; } public String getName() { return name; } publ...原创 2018-07-23 19:39:58 · 3773 阅读 · 0 评论