java
durenniu
这个作者很懒,什么都没留下…
展开
-
java中String类为什么不可变?
java中String类为什么不可变?在面试中经常遇到这样的问题:1、什么是不可变对象。不可变对象有什么好处。在什么情景下使用它,或者更具体一点,java的String类为什么要设置成不可变类型?1、不可变对象,顾名思义就是创建后的对象不可以改变,典型的例子有java中的String类型。2、相比于可变对象,不可变对象有很多优势: (1)不可变对象可以提高String Pool(字符串常量池)的...转载 2018-07-16 12:23:23 · 195 阅读 · 0 评论 -
Class.getSimpleName()的作用
Class.getSimpleName()的作用 public class sample{ public static void main(String[] args){ //得到类的简写名称 System.out.println(sample.class.getSimpleName()); //得到对象的全路径 System.out.pri...转载 2018-08-15 21:04:48 · 3539 阅读 · 0 评论 -
动态生成验证码
生成验证码代码: package test;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import...转载 2018-08-12 11:49:08 · 906 阅读 · 0 评论 -
动态生成图片
package cn.itcast.image;import java.awt.Color;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io...转载 2018-08-12 11:25:36 · 744 阅读 · 0 评论 -
Java 反射:Field (成员变量)
深入理解 Java 反射系列:深入理解 Java 反射:Class (反射的入口) 深入理解 Java 反射:Field (成员变量) 深入理解 Java 反射:Method (成员方法)读完本文你将了解到: Field 成员变量的介绍 获取变量的类型 获取成员变量的修饰符 获取和修改成员变量的值 常见错误 1 无法转换类型导致的 javalangIll...转载 2018-08-11 09:37:44 · 771 阅读 · 0 评论 -
Javac编译原理
Javac编译原理目录词法分析器 语法分析器 语义分析器 代码生成器 java源代码(符合语言规范)-->javac-->.class(二进制文件)-->jvm-->机器语言(不同平台不同种类)如何让java的语法规则适应java虚拟机的语法规则?这个任务由javac编译器来完成java语言规范转换成java虚拟机语言规范。编译流程:...转载 2018-08-01 10:38:48 · 160 阅读 · 0 评论 -
【码农每日一题】Java 中代码块相关笔试题
问:Java 代码块是什么?代码块的分类有哪些?作用是什么? 答:所谓代码块就是用大括号 {} 将多行代码封装在一起形成一个独立的数据体,用于实现特定的需求,一般来说代码块是不能单独运行的,它必须要有运行主体。 普通代码块(局部代码快)是在方法名后面用 {} 括起来的代码段,不能够单独存在,必须要紧跟在方法名后面且必须使用方法名调用它,作用是限定变量的生命周期和提高效率。 ...转载 2018-07-22 15:43:31 · 528 阅读 · 1 评论 -
每日一题-hashCode 与 equals 的 区别
问:两个对象值相同 (tmp1.equals(tmp2) == true) 但却可有不同的 HashCode 值,这句话有问题吗? 答:有问题,这句话是不对的。两个对象 tmp1 和 tmp2 满足 tmp1.equals(tmp2) == true 时它们的 HashCode 应当相同,因为 Java 对于 eqauls 方法和 hashCode 方法的规定是如果两个对象 equals ...转载 2018-07-22 15:41:06 · 150 阅读 · 0 评论 -
Java中的String,StringBuilder,StringBuffer三者的区别
最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下,便于大家观看,也便于加深自己学习过程中对这些知识点的记忆,如果哪里有误,恳请指正。 这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。首先说运行速度,或者说是执行速度,在这方面运行速...转载 2018-07-16 10:02:48 · 211 阅读 · 0 评论 -
【每日一题】基本数据类型与包装类型的面试题
基础知识:1、java中的基本数据类型 java是一个近乎纯洁的面向对象编程语音,引入基本数据类型是为了编程方便,但是为了能够将这些基本数据类型当成对象操作,java为每一个基本数据类型引入了对应的包装类型(wrapper class)。具体如下: int --- Integer short --- Short long --- Long double --- Double ...转载 2018-07-15 12:18:49 · 1460 阅读 · 0 评论 -
【每日一题】java基本数据类型基础面试题
问:如下程序语句有什么问题?short s1 = 1;s1 = s1 + 1;//1short s2 = 1;s2_+= 1;//2答:对于注释1 来说,在S1+1 运算时会自动的提升表达式类型为int ,所以将int 赋予short 类型的变量s1 会出现类型转换错误,除非自动加上强制转换。对于注释2,+= 是java语法规定的运算符,所以java编译会对他进行转换特殊处理,故正确编译执行。...原创 2018-07-15 00:33:40 · 283 阅读 · 0 评论 -
【码农每日一题】Java 重载与重写面试基础题
问:简单说说 Java 重载与重写是什么?有什么区别? 答:重载(Overload)是让类以统一的方式处理不同类型数据的一种手段,实质表现就是多个具有不同的参数个数或者类型的同名函数(返回值类型可随意,不能以返回类型作为重载函数的区分标准)同时存在于同一个类中,是一个类中多态性的一种表现(调用方法时通过传递不同参数个数和参数类型来决定具体使用哪个方法的多态性)。 重写(Overri...转载 2018-07-17 13:07:06 · 1681 阅读 · 0 评论 -
Java中可变长参数的使用及注意事项
Java中可变长参数的使用及注意事项在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print("hello","lisi");print("hello","张三", "alexia");下面介绍如何定义可变长参数 以及如何使用可变长参数。1. 可变长参数的定义转载 2018-07-17 11:25:18 · 159 阅读 · 0 评论 -
问:面向对象的特征有哪些方面?
答:继承,封装,多态;继承性是类的一种层次模型,其提供了一些一种明确表述共性的方法,对象的新类可以从现有类中继承派生,类可以从他的基类继承方法和实例变量,而且类可以修改或者增加心得方法使之更合适特殊的需要。封装性是把过程和数据包包围起来,使得数据的访问只能通过已定义的接口,保证对象被被访问的隐私性和可靠性。多态性是对象在不同时刻表象出来的多种状态,是一种编译时期状态和运行时期状态的不一致的现象...转载 2018-07-17 11:24:45 · 981 阅读 · 0 评论 -
【码农每日一题】Java 自增自减运算符神坑笔试题
问:下面程序的运行结果是什么?int count =0;for(int i=0; i<100; i++) { count = count++;}System.out.println("count=" + count);答:运行结果是 count = 0。首先 count++ 是一个有返回值的表达式,返回值是 count 自加前的值,Java 对自加处理的流程是先把 count 的值(不...转载 2018-07-16 12:33:24 · 1636 阅读 · 0 评论 -
【每日一题】Java 字符串(Part 2)相关面试题
问:下面程序的运行结果是什么?String stra = "ABC";String strb = new String("ABC");System.out.println(stra == strb); //1,falseSystem.out.println(stra.equals(strb)); //2,true对于 1 和 2 中两个都是显式创建的新对象,使用 == 总是不等,Str...转载 2018-07-16 12:29:27 · 270 阅读 · 0 评论 -
JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别
关于获取类的字段有两种方式:getFields()和getDeclaredFields()。我们先来看看这两者的区别吧:getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段。 getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。同样类似的还有getConstr...转载 2018-08-15 21:10:30 · 7912 阅读 · 0 评论