Java基础知识陷阱(二)】的更多相关文章

本文发表于本人博客. 上次说了一些关于字符串的知识,都是比较基础的,那这次也说下关于对象地址问题,比如传参.先看下面代码: public void changeInt(int a){ a = ; } ; changeInt(a); System.out.println(a); 我相信这个初学者也知道结果了,知道传的是值.那看下这个说出过程是如何的: public void changestr(String str){ str = "www.luoliang.me"; } String…
Java基础知识陷阱系列 今天抽空把Java基础知识陷阱有关的文章汇总于此,便于大家查看. Java基础知识陷阱(一) Java基础知识陷阱(二) Java基础知识陷阱(三) Java基础知识陷阱(四) Java基础知识陷阱(五) Java基础知识陷阱(六) Java基础知识陷阱(七) Java基础知识陷阱(八) Java基础知识陷阱(九) Java基础知识陷阱(十)…
本文发表于本人博客. 今天我来说说关于JAVA多线程知识,有错误请指出.大家都知道JAVA在服务端上处理也有很大优势,很多公司也有在服务器跑JAVA进程,这说明JAVA在处理这个多线程以及并发下也有一定有优点的(这说法有点坑了).下面来看看 那java中,不具备直接操作像操作系统一样的PV信号,然而它提供了synchronized来实现同步机制,可能这样说不够严谨.JAVA的基类Object中有以下几个方法: public final native void notify(); public f…
一:前言 最近由于面试了新浪公司,面试官问我的问题我都不知道,觉得自己好菜,所以最近决定再把java基础给搞一遍,真的觉得自己好菜.每天看一点,那个家伙说<java编程思想>最少要看三遍,我一遍都没看完.现在每次都写写自己的最新指导的知识点吧.努力!!!刚刚在一个群上说了下这,别人给我说了句话“你要提醒自己,所有的技术别人能学会的你迟早能学会,没什么大不了的”.记住 二:内容 (1):关于构造方法的问题 我们每次写一个类中,都会说在类中加一个无参数的构造方法,我时常在想,这个无参数的构造函数有…
本文发表于本人博客. 上个星期由于时间比较紧所以未能继续写下去,今天再接再厉,专心 + 坚持这样离目标就越来越近了!废话少说说正题,今天我们还是来说说java中比较基础的知识,大家知道编写java程序中很多时候都用到了xml文件,有些是框架本身支持配置的,有些是自定义配置的,这样就要求我们要对这个xml原理要比较了解,其中加载xml文件转换节点元素时有个核心:递归调用转换.我们可以通过下面方法来查查这个实现类有关的源码: DocumentBuilderFactory factory = Docu…
一.基本概念 1. Java程序初始化的顺序是怎么样的 2. Java和C++的区别 3. 反射 先看一个知乎回答 什么是反射 主要用途 获得Class对象 4. 注解 什么是注解 为什么要用注解 基本Annotation 自定义注解类编写规则 自定义注解实例 5. 泛型 通俗解释 泛型方法 泛型类 类型通配符 6. 字节与字符的区别 7. 有哪些访问修饰符 8. 深拷贝与浅拷贝 9. Lamda表达式 语法 Lambda 表达式实例 变量作用域 10. 字符串常量池 11. 解释型语言与编译型…
二.基本数据类型 java基本数据类型只能先声明后使用 boolean  true/false char 16-bit unicode character byte 8-bit integer short  16-bit integer int 32-bit integer long 64-bit integer float 32-bit floating-point number double   64-bit floating-point number 自动类型转换.强制类型转换 publi…
本文发表于本人博客. 今天我们来说说关于java继承以及反射有关的问题,大家先看下下面代码,试问可以编译通过不,为什么具体说说原因? public class Test{ public static void main(String[] args){ Person p = new Man(); p.talk(); } } class Person{ public void talk() throw NullPointerException{ System.out.println("Person…
一.java中8大基本类型 数值类型:byte.short.int .float.double .long 字符类型:char 布尔类型:boolean 二. 封装:将属性私有化,不允许外部数据直接访问,并设置相应的方法对属性进行设置和读取,从而实现对属性访问的控制.这种限制属性访问的操作叫做封装. 继承:将多个类共用的属性和方法写在父类里,子类使用extends继承父类,就可以使用父类非私有的属性和方法 好处:提高代码复用性.提高代码维护性 重载:允许存在多个同名方法,但方法的参数不同 重写:…
字符串是程序开发中使用最为频繁,因此为了工作的高效和作为一名想进阶的程序员,了解并掌握字符串的处理显得尤为重要.java为我们提供了String.StringBuffer.StringBuilde三个处理字符串的类,下面我们对其做一个总结和介绍. 1.分别介绍 1)String 解答1: 我们在查看API文档的时候,会发现有这么一句话"字符串是常量,它们的值在创建之后不能更改".众所周知常量是用final修饰的,一旦创建在程序的其他地方无法修改.这时我们就会快速的回想,在我们日常的开发…
1.finally public static int func (){ try{ return 1; }catch (Exception e){ return 2; }finally { return 3; } } public static int func (){ try{ throw new Exception(); }catch (Exception e){ return 2; }finally { return 3; } } 返回值均为3;这表明finally块的代码会在正常retu…
1. synchronized和reentrantlock异同 相同点 都实现了多线程同步和内存可见性语义 都是可重入锁 不同点 实现机制不同 synchronized通过java对象头锁标记和Monitor对象实现 reentrantlock通过CAS.ASQ(AbstractQueuedSynchronizer)和locksupport(用于阻塞和解除阻塞)实现 synchronized依赖jvm内存模型保证包含共享变量的多线程内存可见性 reentrantlock通过ASQ的volatil…
+=隐含了强制类型转换. x+=y;等价与:x = (x的数据类型)(x + y); 函数重载? 函数名同样.參数列表不同.跟返回值不关,就是函数重载 封装是什么? 隐藏对象的属性和详细的实现细节,仅对外提供公共的訪问方式. 类.方法事实上也是封装的体现. 继承是什么? 概念:把多个类中同样的内容抽取出来,单独定义到一个类(父类)中,再定义其它类(子类)的时候,继承父类就可以. 优点:1.提高了代码的复用性,减少了代码的反复率.2.提高了代码的维护性3.让类与类之间产生了关系,是多态的前提. 继…
本文发表于本人博客. 上次说了下HashSet和HashMap之间的关系,其中HashMap这个内部有这么一句: static final float DEFAULT_LOAD_FACTOR = 0.75f; 这一句表示一个常量,作用是当容器数量大小达到0.75%的时候就进行重新在构建一个2倍大小的数组.竟然这2个是集合,那我们今天看看其他的集合类,比如:ArrayList.Vector.LinkedList,开始咯. 首先查看下ArrayList的源码,这几个集合类都是在java.util包下…
本文发表于本人博客. 上次说了下equals跟==的问题,今天再来认识一下这个equals()跟hasCode().上次的代码如下: class Person{ public String name; public Person(String name){ this.name = name; } public String getName(){ return this.name; } @Override public boolean equals(Object anObject) { if (t…
本文发表于本人博客. 今天我来说说关于静态变量初始化.数组.==与equals的问题,看下面代码: public class Test{ private final int age; private String name; public Test(){ age = 30; } public Test(String name){ this.name = name; } } 我想上面的代码好多人都知道了会编译报错的,原因是在代餐构造函数中未对age进行复制操作. 对于终态变量final程序中是可以…
本文发表于本人博客. 之前都讲了有关字符串的陷阱,那今天来说下关于静态这个东西,这分为静态变量.静态方法,先看下面的代码请问结果输出是什么?: class Person01{ private static Person01 person = new Person01(); public static int age; public static int hight = 0; private Person01(){ age++; hight++; } public static Person01…
本文发表于本人博客. 事隔好多年了,重新拿起来Java这门语言,看似熟悉其实还很陌生,想想应该梳理下顺便提高下自己.这次先来看看Java里面的String这个对象. 经典的先看下面一段代码,请问最终创建几个对象,分别在哪里? String s0 = new String("luoliang.me"); String s1 = "luoliang.me"; String s2 = new String("luoliang.me"); 想要回答这个问…
1.Scanner的概述和方法介绍 * A:Scanner的概述 * 是一个从键盘输入的类,有final修饰,不能被子类继承 * Scanner sc = new Scanner(System.in); * String str = sc.nextLine(); * B:Scanner的构造方法原理 * Scanner(InputStream source) * System类下有一个静态的字段: * public static final InputStream in; 标准的输入流,对应着键…
List接口继承了Collection接口,位于java.util包中.它包含Collection接口的所有方法,外加其他一些方法(具体实现参考源码),比较重要的有: anyType get(int index) anyType set(int index, anyType newVal) void add(int index, anyType x) void remove(int index) ListIterator<anyType> listIterator(int pos) List…
本文发表于本人博客. 这次我来说说关于&跟&&的区别,大家都知道&是位运算符,而&&是逻辑运算符,看下面代码: public static void main(String[] args) throws Exception { int a = 1; int b = 2; int c = a & b; if(a >= 1 && b >= 1){ System.out.println("&&条件1&q…
1.条件运算符   ⑴if...else... ⑵三目表达式——X?Y:Z 当X为真时,结果为Y:反之,为Z. ⑶switch(表达式){ case 1:    执行代码块 1; break: case 2:    执行代码块 2; break: case n:    执行代码块 n; break: default:      默认执行的代码:  } ①case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容, 直到遇到 break 语句或者 s…
java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者特殊功能的关键词,不能用着标识符 3.注释 java代码中不会编译,帮助介绍代码的文字片段 三种注释方式,分别是单行注释(//).多行注释(/* */)和文档注释(/** */) 4.基本数据类型 基本类型有以下四种: int长度数据类型有:byte(8bits).short(16bits).int…
在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之后的代码挂掉了,后面的try/catch很难保证代码被执行.所以,这篇Java JDBC的基础知识(二)主要记录标准的异常处理. 一.要处理的代码如下 import java.sql.Connection; import java.sql.DriverManager; import java.sql…
一.java基础知识 1.一个文件中只能有一个public的类,因为他的类名要求和文件名相同. 2.classpath变量可以设置其它目录下的类. 例如:类文件所在目录是:F:\Javajdk,那么没有设置classpath变量时,在F:\下是访问不到类文件的.可以通过以下方式设置classpath变量,就可以访问不同目录的文件(注意classpath变量中等号的左边和右边的目录文件名称中间是不能有空格,例如一个名为“my Java”的文件夹是不可以的): a.当前目录为F:\的目录下,设置 s…
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能帮助大家.大致的结构: 1.[Java面向对象] 2.[Java集合详解] 3.[Java IO相关操作] 4.[Java 8函数编程] 5.[常用设计模式] 6.[Spring MVC] 7.[MyBatis] 8.[Vue.js] 9.[Spring Boot] 10.[实例(结合Spring…
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程序的文件名就可以随意命名了. 文档注释,是以单斜线加两个星形标记( /**)开头,并以一个星形标记加单斜线( */)结束.用这种方法注释的内容会被解释成程序的正式文档,并能包含进如 javadoc之类的工具生成的文档里,用以说明该程序的层次结构及其方法. Java 把整数常量的数据类型均视为 int…
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下String的主要方法. 类String在java.lang.*包下面. 首先定义一个字符串:String str = "I like you,Java."; 一.字符串创建的效率 字符串创建有两种方式: 1.String str = "I like you,Java."; 2.…
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就总结了一下关于四大内部类的知识. 备注: java语言中允许类中再次定义类,这种在其它类内部定义的类叫内部类,内部类分为四种:常规内部类(成员内部类),局部内部类(方法内部类),匿名内部类,静态嵌套内部类 一.常规内部类 其实常规的内部类就是第一种(成员内部类) 当然 成员内部类由于高内聚,不对外开…
本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web资源,URLDecode和URLEncode用来转换字符串. 本文会写两个例子来演示java网络编程的一些基本用法. 第一个例子,用java实现http get 和 post请求 本例涉及如下知识点, HTT协议规范 使用URL对象建立HTTP协议的网络连接URLConnection对象conn,本…