Java(1-15)
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)的更多相关文章
- Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等
Java 中15种锁的介绍 Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等,在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类 ...
- Java 种15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁等等…
Java 中15种锁的介绍 1,在读很多并发文章中,会提及各种各样的锁,如公平锁,乐观锁,下面是对各种锁的总结归纳: 公平锁/非公平锁 可重入锁/不可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲 ...
- Java中15种锁的介绍
作者:搜云库技术团队 原文:https://segmentfault.com/a/1190000017766364 1. Java 中15种锁的介绍 在读很多并发文章中,会提及各种各样锁如公平锁,乐观 ...
- linux(centos8):安装java jdk 15 (java 15)
一,下载jdk15 官方网站: https://www.oracle.com/java/ 下载页面: https://www.oracle.com/cn/java/technologies/javas ...
- Java SE 15 新增特性
Java SE 15 新增特性 作者:Grey 原文地址:Java SE 15 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
- Java多线程15:Queue、BlockingQueue以及利用BlockingQueue实现生产者/消费者模型
Queue是什么 队列,是一种数据结构.除了优先级队列和LIFO队列外,队列都是以FIFO(先进先出)的方式对各个元素进行排序的.无论使用哪种排序方式,队列的头都是调用remove()或poll()移 ...
- Java Hour 15 以写小说的心态
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 突然想到我最近一直在追的小说,作者每天都会更新两章,而且质量挺高.所以从这篇开 ...
- JAVA进阶15
间歇性混吃等死,持续性踌躇满志系列-------------第15天 1.TCP网络程序 package code0329; import java.io.BufferedReader; import ...
- Java基础15:深入剖析Java枚举类
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...
- 【Java】15分钟快速体验阿里Java诊断工具Arthas
[墙裂推荐]15分钟快速体验阿里Java诊断工具Arthas : https://alibaba.github.io/arthas/arthas-tutorials?language=cn&i ...
随机推荐
- 【CF932E】Team Work/【BZOJ5093】图的价值 数学+NTT
[CF932E]Team Work 题意:求$\sum\limits_{i=1}^nC_n^ii^k$,答案模$10^9+7$.$n\le 10^9,k\le 5000$. [BZOJ5093]图的价 ...
- ios三张图片组合一张
- (UIImage *)addImage:(UIImage *)image1 toImage:(UIImage *)image2 { UIGraphicsBeginImageContext(imag ...
- python nose测试框架全面介绍九---各种html报告插件对比
一直在使用Nose-html-reporting,并输出html报告,但今天在使用时发出有点问题:于时,将python目前可能的html报告插件下载后进行对比,如下 一.Nose-html-repor ...
- Log4net配置之Winform项目
具体方法如下: 一.App.config配置 <?xml version="1.0" encoding="utf-8" ?> <configu ...
- Unity3D之游戏架构脚本该如何来写
这篇文章主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友 ...
- TFS二次开发系列索引
TFS二次开发11——标签(Label) TFS二次开发10——分组(Group)和成员(Member) TFS二次开发09——查看文件历史(QueryHistory) TFS二次开发08——分支(B ...
- Python 之反射和普通方式对比(模拟Web框架)
先模拟一个web页面的选择不同输出不同 vim day8-7.py #!/usr/bin/python # -*- coding:utf-8 -*- import home import accoun ...
- POJ-1975 Median Weight Bead(Floyed)
Median Weight Bead Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3162 Accepted: 1630 De ...
- 10W年薪和30W+年薪的产品经理差距在哪?
举办到今年第六届壹佰案例峰会,认识的“程序猿/媛”朋友越来越多,时间长了就发现,程序员的世界一点也不单调,外界传说的不善言辞.最大的乐趣就是买“机械键盘”都是不对的.你见过周末组团去山里骑哈雷的研发经 ...
- Elasticsearch 过滤器
序 本文主要记录es的查询过滤的使用. 使用过滤器 过滤器不影响评分,而评分计算让搜索变得复杂,而且需要CPU资源,因而尽量使用过滤器,而且过滤器容易被缓存,进一步提升查询的整体性能. post_fi ...