每日一点Java基础小知识 — day2
欢迎来到叮当猫学编程的Java基础小知识系列~在这里,你将会看到叮当猫每日关于Java的基础知识总结,期待大家的点赞关注喔
-
静态方法:
- 什么是静态方法
- 用static修饰的方法
- 静态方法是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用该方法
- 静态方法的使用
- 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式
- 而实例方法只有后面这种方式,也就是说,只有调用静态方法时可以无需创建对象
- 什么是静态方法
-
JDBC是java database connector,也就是java访问数据库的驱动;事物隔离级别由数据库系统实现,是数据库系统本身的一个功能
-
out是从程序里出去的数据,in是进入到程序的数据。 这是对FileOutputStream和FileInputStream的区分记忆
-
javac.exe是编译功能javaCompiler
-
java.exe是执行程序,用于执行编译好的.class文件
-
javadoc.exe用来制作java文档
-
jdb.exe是java的调试器
-
javaprof.exe是剖析工具
-
java程序种类:
- 内嵌于web文件中,有浏览器观看的applet
- 可独立运行的application
- 服务器端的servlets
-
关于HashMap的数据结构:jdk1.8以前是数组 + 链表,jdk1.8以后是数组 + 链表 + 红黑树
-
若采用命令行“java Test one two three”调用,则程序输出的结果为:
public class Test { public static void main(String[] args) { System.out.println(args[0]); } }
其中,java和Test是运行命令,从one开始才是第一个元素
args[0]
-
java提供了一个系统级的线程,即垃圾回收器线程。用来对每一个分配出去的内存空间进行跟踪。当JVM空闲时,自动回收每块可能被回收的内存,GC是完全自动的,不能被强制执行。程序员最多只能用System.gc()来建议执行垃圾回收器回收内存,但是具体的回收时间,是不可知的。当对象的引用变量被赋值为null,可能被当成垃圾
-
无效等价类是指对于软件规格说明而言,是没有意义的、不合理的输入数据集合
-
switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持
-
web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。一个服务器可以多个容器
在Web应用程序中,web容器负责将HTTP请求转换为HttpServletRequest对象。Apache就是一个Http服务器,Tomcat是一个web容器,静态的htmlApache还可以处理,但是动态的需要转发给Tomcat去处理了,比如jsp页面,请求先经由Apache转发给Tomcat再由Tomcat解析请求。所以应该是web容器去解析成request对象
-
xxxString.replaceAll()
中方法的第一个参数是一个正则表达式,"."在正则表达式中表示任何字符 -
线程安全的map:
HashTable
,SynchronizedMap
,ConcurrentHashMap
-
HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
-
重载是在同一个类中,有多个方法名相同,参数列表不同(参数个数不同,参数类型不同),与方法的返回值无关,与权限修饰符无关
-
线程相关:
sleep()
会使当前线程睡眠指定时间,不释放锁yield()
会使当前线程重回到可执行状态,等待cpu的调度,不释放锁wait()
会使当前线程回到线程池中等待,释放锁,当被其他线程使用notify,notifyAll唤醒时进入可执行状态- 当前线程调用 某线程
.join()
时会使当前线程等待某线程执行完毕再结束,底层调用了wait,释放锁
-
this()
和super()
都是构造器,this()
调用本类构造器,super()
调用父类构造器 -
java采用的uincode编码,两个字节表示一个字符,因此 char型在java中占两个字节,而int型占四个字节
-
equals
与==
的区别:==
是判断两个变量或实例是不是指向同一个内存空间,equals
是判断两个变量或实例所指向的内存空间中的值是否相同==
比较的是内存地址,equals()
是对字符串的内容进行比较==
指引用是否相同,equals()
指的是值是否相同