JAVA每日一旅3

1.关于byte

byte在内存中占一个字节,范围是-128-127,128作强制类型转换到byte变成-128,因为128的二进制表示:1000 0000,最高位是符号位。

2.关于Hibernate(先记下笔记,目前还没学到)

尽量使用many-to-one,避免使用单项one-to-many。
 灵活使用单向one-to-many。
 不用一对一,使用多对一代替一对一。
 配置对象缓存,不使用集合缓存。
 一对多使用Bag 多对一使用Set。
 继承使用显示多态 HQL:from object polymorphism="exlicit" 避免查处所有对象。
 消除大表,使用二级缓存。

3.又谈到wait()

wait()必须进行异常捕捉;调用wait()或者notify()方法必须采用当前锁调用,即必须采用synchronized中的对象。

4.又提到JVM

运行时数据区包括:虚拟机栈区,堆区,方法区,本地方法栈,程序计数器

虚拟机栈区 :也就是我们常说的栈区,线程私有,存放基本类型,对象的引用和 returnAddress ,在编译期间完成分配。

堆区 , JAVA 堆,也称 GC 堆,所有线程共享,存放对象的实例和数组, JAVA 堆是垃圾收集器管理的主要区域。

方法区 :所有线程共享,存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。这个区域的内存回收目标主要是针对常量池的对象的回收和对类型的卸载。

程序计数器 :线程私有,每个线程都有自己独立的程序计数器,用来指示下一条指令的地址。

学习需要不断的重复啊!

时间: 2024-10-13 11:42:41

JAVA每日一旅3的相关文章

JAVA每日一旅2

1.关于类型转换 两个数值进行二元操作时,会有如下的转换操作: 如果两个操作数其中有一个是double类型,另一个操作就会转换为double类型. 否则,如果其中一个操作数是float类型,另一个将会转换为float类型. 否则,如果其中一个操作数是long类型,另一个会转换为long类型. 否则,两个操作数都转换为int类型. 2.关于重写和重载 重载(overload):只要方法名一致,其他(参数列表.返回值)随意. 重写(overriding):只有实现的功能代码不一致 ,其他的(函数名.

java每日小算法(27)

/* [程序27]  题目:求100之内的素数    */ package test; import java.util.Scanner; public class test { public static boolean prime(int number) { boolean flag = true; int mid = (int)Math.sqrt(number); for(int i = 2; i< mid+1; i++) { if(number % i == 0) { flag = fa

java每日小算法(4)

[程序4] 题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步. (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步. package test; import java.util.ArrayList;

【Java每日一题】20161103

package Nov2016; import java.util.List; public class Ques1103 { public void method01(String[] array){} public void method01(Integer[] array){} public void method02(List<String> list){} public void method02(List<Integer> list){} } 今日问题: 请问主程序能否

【Java每日一题】20170321

20170320问题解析请点击今日问题下方的"[Java每日一题]20170321"查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public class Ques0321 { public static void main(String[] args) { Ques0321 test = new Ques0321(); test.method(null); } public void method(Object o) { System

【Java每日一题】20170109

20170106问题解析请点击今日问题下方的"[Java每日一题]20170109"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; import java.util.ArrayList; import java.util.List; public class Ques0109<T> { private T t = new T(); private T[] array = new T[3]; private List<T&

【Java每日一题】20161212

package Dec2016;      public class Ques1212 {      public static void main(String[] args){          System.out.println(10.00-9.60);      }   } 今日问题: 请问主程序中输出结果是什么?(点击以下"[Java每日一题]20161212"查看20161209问题解析) 题目原发布于公众号.简书:[Java每日一题]20161212,[Java每日一题

【Java每日一题】20161201

20161130问题解析请点击今日问题下方的"[Java每日一题]20161201"查看 package Dec2016; public class Ques1201 { public static void main(String[] args) { new Ques1201().sum(1, 2); } public void sum(int num1, int num2){ int temp = num1 + num2; System.out.println("没使用变

【Java每日一题】20161130

20161129问题解析请点击今日问题下方的"[Java每日一题]20161130"查看 package Nov2016; public class Ques1130 { public static void main(String[] args) { int i = 1; Ques1130.test(i); Ques1130.test(Integer.valueOf(i)); } public static void test(long n){ System.out.println(