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 ...
随机推荐
- 【CF913G】Power Substring 数论+原根
[CF913G]Power Substring 题意:T组询问,每次给定一个数a,让你求一个k,满足$2^k$的10进制的后$min(100,length(k))$位包含a作为它的子串.你只需要输出一 ...
- mysql概要(十四)(二)索引(补充:外键级联操作)
[ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] [ ON UPDATE { NO ACTION | CASCADE | S ...
- 教你写gulp plugin
前端开发近两年工程化大幅飙升.随着Nodejs大放异彩,静态文件处理不再需要其他语言辅助.主要的两大工具即为基于文件的grunt,基于流的gulp.简单来说,如果需要的只是文件处理,gulp绝对首选. ...
- empty对如下8种情况返回true
1.strrchr函数 在W3School站点上的注释如下: strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符.如果成失败,否则返回 fals ...
- rs.getMetadata
元数据(MetaData),即定义数据的数据.打个比方,就好像我们要想搜索一首歌(歌本身是数据),而我们可以通过歌名,作者,专辑等信息来搜索,那么这些歌名,作者,专辑等等就是这首歌的元数据.因此数据库 ...
- MongoDB-3.4安装文档
1.建立目录 2.将解压文件cp到步骤1建立目录下 mongodb-win32-x86_64-enterprise-windows-64-3.4.1.zip 3.配置环境变量 4.启动mongodb服 ...
- ionic项目打包好Xcode工程,模拟器运行各种沙盒缓存目录
用ionic开发好的app,build好iOS端可用的Xcode工程,然后用模拟器跑起来.研究一下js写的代码做本地持久化时,不同类型的文件都放在那里了. cordova-plugin-sqliteS ...
- https://validator.w3.org
https://validator.w3.org/nu/?doc=http%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.7%2Fen%2Fmanual-info. ...
- httpd.conf .htaccess apache 服务器配置
PHP Advanced and Object-Oriented Programming Larry Ullman The standard solution in these situations ...
- nginx 哈希表数据结构
1.哈希表ngx_hash_t的优势和特点 哈希表是一种典型的以空间换取时间的数据结构,在没有冲突的情况下,对任意元素的插入.索引.删除的时间复杂度都是O(1).这样优秀的时间复杂度是通过将元素的ke ...