自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 非法字符utf8

2021-07-28 16:24:59 841

转载 sql练习

没脑子 sql查询练习题 --(1)   查询20号部门的所有员工信息。select * from emp e where e.deptno=20;--(2)   查询奖金(COMM)高于工资(SAL)的员工信息。select * from emp where comm>sal;--(3)   查询奖金高于工资的20%的员工信息。select * from emp where c...

2018-07-02 20:34:20 1071

原创 方法改变成员变量

2.分析如下Java程序的代码所示,则编译运行后的输出结果是(  C  )。(选择一项) public class Test { int count=9; public void count1(){ count=10; System.out.println("count1="+count); } public void count2(){ System.out.println("count2...

2018-06-26 21:08:11 2551

原创 java小问题

        1.char 型变量中能不能存贮一个中文汉字,为什么?    答:char类型可以存储一个中文汉字,因为Java中使用的编码是Unicode(不选择任何特定的编码,直接使用字符在字符集中 的编号,这是统一的唯一方法),一个char类型占2个字节(16比特),所以放一个中文是没问题的。补充: 使用Unicode意味着字符在JVM内部和外部有不同的表现形式,在JVM内部都是Unicod...

2018-06-03 19:08:34 162

原创 Java中存在内存泄露吗?请简单论述。

答:理论上Java因为有垃圾回收机制(GC)不会存在内存泄露问题(这也是Java被广泛使用于服务器端编程的一个重要原因);然而在实际开发中,可能会存在无用但可达的对象,这些对象不能被GC回收,因此也会导致内存泄露的发生。例如Hibernate的Session(一级缓存)中的对象属于持久态,垃圾回收器是不会回收这些对象的,然而这些对象中可能存在无用的垃圾对象,如果不及时关闭(close)或清空(fl...

2018-06-03 18:50:28 325

原创 如何实现对象克隆?

答:有两种方式:  1). 实现Cloneable接口并重写Object类中的clone()方法;  2). 实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆,代码如下:package com.javadu.cloneTest;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutp...

2018-06-03 18:46:40 3739

原创 static修饰成员方法的作用

static的另一个作用,就是修饰成员方法。相比于修饰成员属性,修饰成员方法对于数据的存储上面并没有多大的变化,因为我们从上面可以看出,方法本来就是存放在类的定义当中的。static修饰成员方法最大的作用,就是可以使用"类名.方法名"的方式操作方法,避免了先要new出对象的繁琐和资源消耗,我们可能会经常在帮助类中看到它的使用:public class PrintHelper { publ...

2018-06-03 18:29:53 2195

转载 java finalize方法总结、GC执行finalize的过程

1. finalize的作用 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java中的finalize的调用具有不确定性不建议用finalize方法完成“非内存资源”的清理工作,但建议用于:...

2018-06-03 17:14:18 192

转载 关于Java栈与堆的思考(String 与 StringBuffer的本质区别)

1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。   2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会...

2018-06-03 17:13:20 454

转载 String s = a+b+c+d+e;创建了几个对象的详细分析?

问题1: String s = "a" + "b" + "c" + "d" + "e"; 问此语句共创建了几个对象, 答案是 就创建了一个 String s = "a" + "b" + "c" + "d" + "e"; 赋值符号右边的"a"、"b"、"c&quo

2018-06-03 16:34:27 3271

转载 为什么只有字符数组可以这样输出?

在java中,当我们定义一个字符数组想要输出时,可以直接在输出语句中写上它的应用即可,为什么可以这样呢?首先我们看一下下面的这个例子![java] view plain copypackage cn.edu.ahui;      public class TestDemo {      public static void main(String[] args){          char[] ...

2018-06-03 16:28:25 1453

原创 字符串和变量相加变量不是字符串不会调用Stringbuffer

         int a=22; String str="11"+a;//编译期就在常量池相加,因为a不是字符串 String str2="11"+22;//编译期就在常量池相加 System.out.println(str);

2018-06-02 15:28:53 264

转载 父类调用子类的成员变量

前两天被问到一个程序,觉得挺有意思,拿出来和大家分享一下。程序如下: class Base {     private int i = 2;     public Base()     {         this.display();        }     public void display()     {         System.out.println(i);     } } c...

2018-05-26 16:55:21 10041 2

转载 Java中的隐藏和覆盖

1、编译时类型和运行时类型 Java的引用变量有两个类型,一个是编译时类型,一个是运行时类型编译时类型:由声明该变量时使用的类型决定运行时类型:由该变量指向的对象类型决定如果编译时类型和运行时类型不一致,会出现所谓的多态。因为子类其实是一种特殊的父类,因此java允许把一个子类对象直接赋值给一个父类引用变量,无须任何类型转换,或者被称为向上转型,由系统自动完成。如 Father  f  =  ne...

2018-05-26 14:19:36 617

转载 Java前期(静态)绑定和后期(动态)绑定

程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定.静态绑定:在程序执行前方法已经被绑定(也就是说在编译过程中就已经知道这个方法到底是哪个类中的方法),此时由编译器或其它连接程序实现。例如:C。针对java简单的可以理解为程序编译期的绑定;这里特别说明一点,java当中的方法只有final,static...

2018-05-26 14:16:24 148

转载 [java]final关键字的几种用法

在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们来了解一下final关键字及其用法。final关键字在java中,final的含义在不同的场景下有细微的差别,但总体上来说,它指的是“这是不可变的”。下面,我们来讲final的四种主要用法。1.修饰数据在编写程序时,我们...

2018-05-25 21:03:14 295

转载 [java]static关键字的四种用法

在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们先来了解一下static关键字及其用法。static关键字1.修饰成员变量在我们平时的使用当中,static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,我们通常将用static修饰的成员称为类成员或...

2018-05-25 21:02:45 110

转载 接口中的方法

接口中的方法    |接口Interface1. 接口中的成员变量默认都是public、static、final类型的,必须被显式初始化2. 接口中的方法默认都是public、abstract类型的。3. 接口中只能包含public、static、final类型的成员变量和public、abstract类型的成员方法。4. 接口没有构造方法,不能被实例化,在接口中定义构造方法是非法的。5. 一个接...

2018-05-25 20:58:14 10556

转载 JDK8新特性:接口的静态方法和默认方法

在jdk8之前,interface之中可以定义变量和方法,变量必须是public、static、final的,方法必须是public、abstract的。由于这些修饰符都是默认的,所以在JDK8之前,下面的写法都是等价的。[java] view plain copypublic interface JDK8BeforeInterface {      public static final int...

2018-05-25 20:57:34 133

转载 JVM常量池

 在jvm规范中,每个类型都有自己的常量池。常量池是某类型所用常量的一个有序集合,包括直接常量(基本类型,String)和对其他类型、字段、方法的符号引用。之所以是符号引用而不是像c语言那样,编译时直接指定其他类型,是因为java是动态绑定的,只有在运行时根据某些规则才能确定具体依赖的类型实例,这正是java实现多态的基础。为了对常量池有更具体的认识,下面引用几个例子:1,常量池中对象和堆中的对象...

2018-05-25 20:51:20 2003

转载 Java内存分配之堆、栈和常量池

Java内存分配主要包括以下几个区域:1. 寄存器:我们在程序中无法控制2. 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中3. 堆:存放用new产生的数据4. 静态域:存放在对象中用static定义的静态成员5. 常量池:存放常量6. 非RAM(随机存取存储器)存储:硬盘等永久存储空间******************************************...

2018-05-25 20:49:52 92

转载 static 静态变量和静态代码块的执行顺序

    众所周知 在android中static 修饰的会被称之为 静态常量,静态变量, 静态方法 ,还有就是静态代码块,用static{ // 代码块 非static修饰的方法,变量,常量, 是不能再静态代码块中使用的 } 表示。       static修饰的 是跟着类走的, 而不是跟随对象,这个大家都是知道的。 那么大家是否知道它们之间的运行顺序的关系呢? 今天, 我就给大家简单讲解一下吧。...

2018-05-24 18:33:45 30427 6

原创 name的作用域只在本类中,父类中的getName方法只能调用父类的name先找子类有有没有getName方法没有父类找,父类不能调用子类的成员

Java继承中的转型及其内存分配看书的时候被一段代码能凌乱啦,代码是这样的:package 继承;abstract class People { public String tag = "疯狂Java讲义"; //① public String name = "Parent"; String getName(){ ...

2018-05-23 20:12:57 416

原创 '\t'+1的值

'\t'+1  打印为9+1   等于10

2018-05-15 19:52:23 279

原创 flag的使用注意事项

if(flag=false)  将flag置为false返回falseif(flag==false) 判断flag是否为false

2018-05-15 11:49:16 2000

转载 java中关键字static、final和static final

1.static:可以修饰:属性,方法,代码段,内部类(静态内部类或嵌套内部类)    a.修饰变量:做全局变量,所有对象实例共用static修饰的变量,jvm中对此变量仅申请一块空间。    b.修饰方法:静态方法不能被重写,只能被隐藏。子类只能继承父类的静态方法,不能重写父类静态方法,子类隐藏了父类的静态方法。静态方法可以包含静态和非静态方法,非静态方法只能包含非静态方法,不能包含静态方法。 ...

2018-05-12 18:03:52 105

转载 printf()详解之终极无惑

1.printf()简介printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h。函数原型:int printf ( const char * format, ... );1返回值: 正确返回输出的字符总数,错误返回负值,与此同时,输入输出流错误标志将被置值,可由指示器ferror来检查输入输出流...

2018-05-12 16:25:11 430

原创 空字符串、NULL、空格串的区别

1、表示区别     string str1 = "";    //空字符串      str1.length() 等于 0     string str2 = null; //NULL     string str3 = " ";   //空格串          str2.length() 等于 12、内存区别      ""    :分配了内存 ,分配了一个空间     null  :未分配...

2018-05-12 16:12:43 16422

原创 +=运算的结合顺序

a+=b+=c等价于a+=(b+=c)因为+=为右结合也就是将b+=c的结果(加上c之后的b)加到a上

2018-05-12 16:04:38 3776

原创 Java中除零等于什么?

1/0   -1/0     0/0 均产生异常;1.0/0   -1.0/0 0.0/0 分别为Infinity -Infinity   NaN1/0.0   -1/0.0 0/0.0 分别为Infinity -Infinity   NaN1.0/0.0 -1.0/0.0 0.0/0.0 分别为Infinity -Infinity   NaN 可见,当为除零时两个都是整数int时会发生异常,有一...

2018-05-12 15:51:37 3527

转载 [JAVA] float,double大数据不要科学计数方法显示

前言:理论科学计数法:如2E8, 2乘以10的8次方。浮点数(float,double)整数部分达到8位及以上,会以科学计数法显示。整数(int,long)不会显示成科学计数法。实践例子 long l1 = 1234567l; long l2 = 12345678l; long l3 = 123456789l; double f1 =...

2018-05-12 15:48:08 1230

转载 字符串String(一个字符数组,常量,不可变):

1. 创建并初始化字符串:  1). 使用字符串常量直接初始化 String s="hello!";  2). 使用构造方法创建并初始化    String();//初始化一个对象,表示空字符序列    String(value);//利用已存在的字符串常量创建一个新的对象    String (char[] value);//利用一个字符数组创建一个字符串    String(char[] va...

2018-05-12 08:05:20 1128

转载 关于equals和==的区别

 解释一下==号,他比较的是一个对象在内存中的地址值,  比如2个字符串对象  String s1 = new String("str");  String s2 = new String("str");  如果用==号比较,会返回false,因为创建了两个对象,他们在内存中地址的位置是不一样的。  equals的情况比较复杂,它是java.lang.Object类中的一个方法。因为java中所有...

2018-05-12 08:02:05 158

转载 三元运算符和if-else语句:不同之处

三元运算符和if-else语句:不同之处。  a) 三元运算符是必须要有返回值,而if-else语句并不一定有返回值,其执行结果可能是赋值语句或者打印输出语句。  b) java三元表达式有字符强转(双目数值提升)的功能,返回值类型为两个返回值中类型精度更高的的那个类型    1) 在java中常见数据类型其范围从小到大(精度由低到高):byte<short<char<int&l...

2018-05-12 08:01:07 3321

转载 8. &和&&的区别?

答:&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用&&而不...

2018-05-11 19:59:30 1928

转载 java的%d和%f 是什么意思

Java中,%d和%f分别用来表示输出时,替换整型输出和浮点型输出的占位符。如:int a=28;float b = 13.0f;System.out.printf("整数是:%d%n,小数是:%f",a,b);输出结果是:整数是:28                     小数是:13.0;这里的%n是换行的格式字符串,只能用在print输出语句中, 而\n是回车字符, 可以用在所有的字符串中...

2018-05-11 19:57:32 3539

转载 Java中,&&与&,||与|的区别

在java的逻辑运算符中,有这么四类:&&(短路与),&,|,||(短路或)。&&和&都是表示与,区别是&&只要第一个条件不满足,后面条件就不再判断。而&要对所有的条件都进行判断。看下面的程序:[java] view plain copypackage demo;    public class TestUnsignedByt...

2018-05-11 19:49:52 8129

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除