java零碎

Collection 
├List      接口
│├LinkedList      链表
│├ArrayList        顺序结构动态数组类
│└Vector        向量   线程安全
│ └Stack      栈
└Set 
Map 
├HashTable    线程安全 
├HashMap      可以接受key 为null的情况
└WeakHashMap List接口

同步容器:vector, hashtable

同步方法:将状态封闭起来,并对每个公有方法进行同步,使得每次只有一个线程能访问容器状态

“状态”指的就是成员变量,“封装起来”即将它们设不private,但是通过公有的方法外界仍然可以访问修改类的私有成员,所以要用synchronized将公有方法进行同步,使得每次只有一个线程能访问容器状态

像List、Set、Map这些原本不是同步容器类,也可以通过Collections.synchronizedXXX工厂方法将其变为同步容器类,即对其公有方法进行同步

转自: http://blog.csdn.net/huilangeliuxin/article/details/12615507

jvm:

-Xmx:最大堆大小

-Xms:初始堆大小

-Xmn:年轻代大小

-XXSurvivorRatio:年轻代中Eden区与Survivor区的大小比值

对于JVM内存配置参数:

-Xmx1024m -Xms10240m -Xmn5120m -XXSurvivorRatio=3

这样的配置,是最大堆大小为10240M, 初始堆大小为10240M,年轻代是5120M,

年轻代中eden 和survivor区比试3:1,survivor区有2个,即要把堆分为5份,所以eden区大小为3072M,,survivor0区为1024M,survivor1区为1024M

权限控制

一直对权限控制的概念很模糊,所以一直开大使用Public

看到一个文档里说:

private:

使用对象: 成员

权限:只能在定义它的类中使用

public:

使用对象:成员、接口、类

权限: 在任何地方

protected:

使用对象:成员

权限:成员只能在定义它的包中被访问,如果在其他包中被访问,则实现这个方法的类

一个类的成员变量是private的,那么只能在这个类里使用对象.变量访问,在其他类里,就算你有这个类的对象,也没有权限访问这个类的private 变量。

同理可以解释protected

时间: 2024-12-10 05:29:04

java零碎的相关文章

JAVA零碎知识点

总结的JAVA零碎知识点 学习和工作中总会有一些零碎的知识点,可能不经常用到或者以前不熟知,在此记录一下. 一.有关Lamda表达式 Lamda表达式是1.8新增特性,所以使用前请确定项目JDK版本是否支持. Lamda主要解决匿名内部类和函数的啰嗦语句问题,比如曾经的Jframe的Jbutton监听事件addActionListener JButton jb = new JButton("click"); jb.addActionListener(new ActionListener

java 零碎知识点

1. 字符串有整型的相互转换 1 2 String a = String.valueOf(2);   //integer to numeric string  int i = Integer.parseInt(a); //numeric string to an int 2. 向文件末尾添加内容 1 2 3 4 5 6 7 8 9 10 11 BufferedWriter out = null;  try {      out = new BufferedWriter(new FileWrite

Java零碎知识

装载.连接.初始化 Java的class文件,会在装载的时候,生成Class信息.缺失的符号,通过连接,变成直接引用.虽然我们都是对一个不存在的类发起引用的时候,发生类没有定义的异常,但是这并不意味着装载和连接一定是lazy模式的,只是标准规定了抛出异常的时机必须同lazy模式的时刻相同. 初始化总是lazy的. 2. 类的私有方法 类调用自己的私有方法,使用的是invokespecial,而不是invokevirtual.这意味着,调用私有方法不会查询对象的函数表,而只是使用调用者所在类的方法

Java零碎操作

快捷键: window --> preferences --> kekys:自定义快捷键 1.alt + /:内容提示 2.Ctrl + 1:快速修复 3.Ctrl + shift + O:导包 4.alt + 方向键:向前向后,查看源码时候用到 5.ctrl + shift + /:添加前注释 6.ctrl + shift + \:除去注释 7.ctrl + shift + F:内容格式 8.ctrl + shift + x:更改为大写 9.ctrl + shift + y:更改为小写 10

Java中一些零碎知识点集合(后续补充)

-----------------------------------关于封装------------------------------------- 封装原则 将不需要对外提供的内容隐藏起来. 把属性隐藏,提供公共方法对其进行访问.之所以对某些信息进行封装然后提供公共接口让外人进行访问,是因为可以对访问操作方式进行控制,来规范用户输入的数据,限制不合理信息,提高代码的健壮性. -----------------------------------构造函数方法-----------------

Java基础零碎知识点总结(持续补充)

1.重载:同名不同参 重写:同名同参同返回类型(方法体与父类一致),只存在于继承关系中(多态),需要父类原有方法可用super(),子类函数访问修饰权限不能少于父类. 2.OOP(Object Oriented Programming):面向对象编程 OOP三大特性:继承.多态.封装 3.Java的跨平台特性:Java编译生成字节码(字节码不能直接运行,机器码才可以),不同平台下编译生成的字节码是一样的,但是JVM会根据当前平台将字节码翻译成的符合当前平台规范的机器码,这样就实现了一次编写,处处

Java面试零碎知识点

1.Java文件经过JVM编译成字节码文件,即.class文件,将字节码文件在不同的操作系统中运行时,操作系统再将字节码文件编译成机器码文件.这就是Java跨平台 2.首先明确一点,java 的 GC 回收是完全自动的,没有提供相关 api 手动回收,所有的内存分配和回收权限都在 jvm,在开发人员手里没有绝对的强制垃圾回收的方法,不过可以这样去做: 对于不再引用的对象,及时把它的引用赋为 null. obj = null; 如果内存确实很紧张,调用 System.gc () 方法来建议垃圾回收

零碎的java知识点记录(一)

小知识点 Map有getOrDefault("1","0");取不到取默认值 两个不同对象,属性相同进行赋值转换,使用modelMapper <dependency> <groupId>org.modelmapper</groupId> <artifactId>modelmapper</artifactId> <version>1.1.0</version> </depende

Java数据类型的零碎知识

1.  a=a+b 和 a+=b的区别 +=会有隐式的强制转换,编译不会报错 但a=a+b,如果两个byte相加,会将加数提升到int,编译会报错 2. String不可变(immutable)的原因 a. JVM内存中的常量池:保存在编译期间被确定并且在.class文件中(磁盘文件)的数据,包含8种基本类型.String机器数组的常量值.符号等 b. 字符串池是一个方法区里的特殊存储区域,当创建一个String,如果它已经在pool中存在,则会返回一个存在的String引用,所以多个Strin