1、方法参数是引用类型,传递的是内存地址!
2、方法的重载特性:在同一个类中,允许方法同名,只要方法的参数列表不同即可!
3、Stirng特殊在如果静态数据区中存在,那么不创建新的对象,而是指向这个对象。
4、String str="scce"; //这是在静态数据区创建了一个对象
5、String str2="scce"; //创建静态数据对象是先在静态数据区查,如果存在则不创建新的,保证静态数据区中的数据只有一份
6、String str2=new String("scce"); str==str2返回false //在堆中创建一个对象,引用值当然不同
7、创建类(功能组件),创建引用类型变量,new两次的出来的类是在堆内存中开辟空间的两个不同模块和内存地址,内存中将有自己的属性,通过存放在栈内存的不同变量p1和p2指向对应的内存地址。
8、对于性别等单字眼字符,使用char比string更节约内存。
9、ArrayList集合创建格式?它与数组的区别是前者只存引用类型。这些都要搞清楚。

ArrayList集合(String类型)创建格式:
ArrayList<String> arr = new ArrayList<String> ();

数组创建方式:
String[] arr = new String[length];
String[] arr = {"1","2","3"}

10、集合存储的数据,8个基本数据类型对应8个引用数据类型。(存储引用数据类型,不存储基本数据类型)
11、数组的弊端是定长。
12、集合的好处是任意数据的添加和删除,而数组不行。
13、注意for循环不能用return,人才啊,草。
14、char转成int类型的时候,类型自动提升,char数据类型,会查找ASCII编码表,得到整数。(char 两个字节 int 四个字节)=》   自动提升:char j = ‘a’;   int i = j + 1;   强制转换:int j = 90;   char i =  (char) j ;

15、char 可以和 int 类型计算 ,提升为 int 类型,内存中为两个字节 取值范围是 0~65535。char是无符号的数据类型,只有正数,而short有正负数,取值范围是 - 32768~32767。

16、“\t” table键对齐。

17、选择排序法和冒泡排序法(后者较难)。

18、数组的二分法查找元素索引(动用大中小三个指针定位)。

19、eclipse没有编译失败。

20、内存位置、默认值不同:方法里面的局部变量(没有默认值,不赋值不能使用)是跟着方法进栈,而类中成员变量(有默认值)是跟着对象进堆,两者内存位置不同。

21、生命周期不同:类中成员变量,跟随对象在堆中存储,内存等待JVM清理,生命较长;而局部变量,跟随方法出栈,生命较短。

22、谨记方法的重载关系。

23、封装的概念:隐藏了实现的细节,对外提供可以访问的方式,便于调用者的使用。封装的好处:提高代码的复用性和安全性。

24、private成员修饰符,不修饰局部变量。

25、this关键字指向当前对象,类中变量存储于堆内存,与方法内变量有区别。

26、继承的出现提高了代码的复用性,从而提高软件开发效率。让类与类之间产生了关系,提供了多态的前提。

27、java只支持单继承,不支持多重继承,也就是子类不能有两父类,不过java可以多层继承。爷爷--父亲--孙子。

28、类的变量的就近访问原则。

29、super表示当前对象中包含父类对象空间的引用。

30、子类(派生类),父类(超类、基类)。

31、方法重写(Override),子类重写父类方法,与方法的重载(overLoad)有区别。

32、方法重载:方法名一样,参数列表不同,同一个类的事情。

33、方法重写:子类中出现和父类一样的方法的时候。子类重写父类的方法,覆盖。

34、在子类方法新增功能时候,先创建同名方法sshowNum,接着第一句代码直接执行父类原有的方法super.showNum(),接着在后面增加新功能代码。

35、Sourse - 》 Generate Getters and Setters  生成抽象类私有变量的修改方法和获取方法。

36、继承的弊端:随着多态的产生,类与类之间的耦合度过高。后面讲的接口api,就可以解开类与类之间的耦合度的问题。

37、this找自己成员,super找父类成员。

38、子类重写父类方法的前提条件是,要保证子类的方法权限大于或者等于父类的方法权限。

39、java的四大权限  public protected default  private。

40、抽象类不能直接创建对象(new 对象)。

41、抽象类也可以做一个中间层的适配器出现。

42、java引用类型:类、数组、接口。

43、接口的应用,解决了类继承的耦合度、增强了扩展性,优化了程序的设计。

44、接口理解:特殊的抽象形的类。

45、接口中定义的成员变量必须是常量。

46、类与接口的关系为实现关系,即类实现接口,实现的动作类似继承,但关键字不同,用implements

47、前面的类称之为接口的实现类

48、共性的数据定义为静态的成员变量,只要方法没有调用非静态的变量,那么该方法就要加static。这样就可以存在JVM的静态区,不进入堆内存。

49、多态调用中, 编译都看=号左边的父类,父类有,编译成功,父类没有,编译失败。

50、静态变量,在创建对象之前已存在,调用静态方法,运行看父类(原因:静态属于类,不属于对象),否则看子类,成员变量,编译运行都看父类。

51、对象的多态性,静态和对象无关,父类的引用,静态方法。

52、定义静态常量:public static final  YOUR_NAME = "内瑟斯的微笑";

53、匿名对象,,内部类;

54、外部类要使用内部类的成员,必须创建内部类对象,访问方式:外部类类名.内部类类名 变量名 = new 外部类().new 内部类();

55、同名成员变量的外部类调用  Outer.this.i  (成员变量)

56、局部内部类  调用,必须在内部方法new 对象调用内部类方法才行。

57、匿名内部类,简化问题:定义实现类,重写方法,建立实现类对象,合为一步完成 。

58、接口实现类快速写法:匿名内部类公式:new  接口名或者父类(){  重写抽象方法 }.抽象方法名()  ===》直接调用方法

59、导包:引入类所在的真正的文件夹;类的包名带着全名走。

60、权限修饰符:

61、默认权限 default  仅限在本包内和自己使用,继承子类如果不在本包内也不能用   格式   :  i = 1;

62、protected 受保护 权限,权限只给子类  只给子类的里面!!!调用父类的受保护成员,你在另一个Test.java文件new 对象会找不到(面试会问)

63、代码块 {}  限制生命周期   类中:  构造代码块 :{}    静态代码块 :static{}     执行顺序 :静态代码块  》  构造代码块  》 构造方法

64、注意静态代码快,不管new几次对象,只执行一次。

65、使用第三方jar包(压缩包)别人用你的jar包:只需两步--》  1、把你的jar拷进项目的lib文件夹;2、Add to BuildPath 小奶瓶  再调用时候 Alt + o;

66、static修饰符修饰的是对象的共享数据,可被类名直接调用,在内存中优先于非静态的存在

67、tocharArray():字符串转数组。。      .charAt()...

68、equalsIgnoreCase()  忽略大小写。。。  toUpperCase().....substring(1)

69、线程安全(慢)StringBuffer   线程不安全(快) StringBuilder 一般用后者

70、数组遍历生产字符串,通过StringBuffer实现,可节约内存空间(因为是在字符缓冲区进行)

Java(1-15)的更多相关文章

  1. Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等

    Java 中15种锁的介绍 Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等,在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类 ...

  2. Java 种15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁等等…

    Java 中15种锁的介绍 1,在读很多并发文章中,会提及各种各样的锁,如公平锁,乐观锁,下面是对各种锁的总结归纳: 公平锁/非公平锁 可重入锁/不可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲 ...

  3. Java中15种锁的介绍

    作者:搜云库技术团队 原文:https://segmentfault.com/a/1190000017766364 1. Java 中15种锁的介绍 在读很多并发文章中,会提及各种各样锁如公平锁,乐观 ...

  4. linux(centos8):安装java jdk 15 (java 15)

    一,下载jdk15 官方网站: https://www.oracle.com/java/ 下载页面: https://www.oracle.com/cn/java/technologies/javas ...

  5. Java SE 15 新增特性

    Java SE 15 新增特性 作者:Grey 原文地址:Java SE 15 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...

  6. Java多线程15:Queue、BlockingQueue以及利用BlockingQueue实现生产者/消费者模型

    Queue是什么 队列,是一种数据结构.除了优先级队列和LIFO队列外,队列都是以FIFO(先进先出)的方式对各个元素进行排序的.无论使用哪种排序方式,队列的头都是调用remove()或poll()移 ...

  7. Java Hour 15 以写小说的心态

    有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 突然想到我最近一直在追的小说,作者每天都会更新两章,而且质量挺高.所以从这篇开 ...

  8. JAVA进阶15

    间歇性混吃等死,持续性踌躇满志系列-------------第15天 1.TCP网络程序 package code0329; import java.io.BufferedReader; import ...

  9. Java基础15:深入剖析Java枚举类

    更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...

  10. 【Java】15分钟快速体验阿里Java诊断工具Arthas

    [墙裂推荐]15分钟快速体验阿里Java诊断工具Arthas : https://alibaba.github.io/arthas/arthas-tutorials?language=cn&i ...

随机推荐

  1. thinkphp---用事务处理批量操作

    我们在进行一些业务逻辑的时候,难免会出现批量操作的问题,特别是批量修改操作,如果数据量大,总会考虑到批量修改到一半怎么办?所以如果使用事务来进行批量操作就会好很多,直接看代码: public func ...

  2. CentOS6.5 下将 Python2.6.6 升级到Python3.5

    一. 从Python官网到获取Python3的包, 切换到目录/usr/local/src #wget https://www.python.org/ftp/python/3.5.1/Python-3 ...

  3. django之admin设置

    Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的配置 ...

  4. zabbix监控tcp状态

    Tcp的连接状态对于我们web服务器来说是至关重要的,从TCP的连接状态中可以看出网络的连接情况,服务器的压力情况,对服务器的并发有很好的直观反映:尤其是并发量ESTAB:或者是syn_recv值,假 ...

  5. RGB颜色值与十六进制颜色码对照表

    颜色码对照表 颜色 英文代码 形象描述 十六进制 RGB LightPink 浅粉红 #FFB6C1 255,182,193 Pink 粉红 #FFC0CB 255,192,203 Crimson 猩 ...

  6. parameter/argument

    根据网上一些资料,对parameter和argument的区别,做如下的简单说明.1. parameter是指函数定义中参数,而argument指的是函数调用时的实际参数.2. 简略描述为:param ...

  7. POJ-2346 Lucky tickets(线性DP)

    Lucky tickets Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3298 Accepted: 2174 Descrip ...

  8. mongostat和mongotop对mongodb数据库运行状态进行监控

    --mongostat工具是mongdb自带的监控工具,可以用来监控mongodb当前状态下的运行情况: [root@slave2 ~]# /usr/local/mongodb341/bin/mong ...

  9. 数据结构——栈(C语言实现)

    #include <stdio.h> #include <stdlib.h> #include<string.h> #include<malloc.h> ...

  10. Map集合遍历

    Map<String,String> map = new HashMap<String, String>(); map.put("1","java ...