`
dingqijie
  • 浏览: 102244 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 容易被遗忘的点

阅读更多
最近看了些设计模式,发现自己在一些java点上存在疏忽,整理整理:
1、Proxy和InvocationHandler
   在java中动态代理用到的类,实现代理效果
   Proxy.newProxyInstance的3个参数说明:
     根据传入的第二个参数interfaces动态生成一个类$Proxy0,该类实现interfaces中的接口;
    第一个参数classloder将刚生成的$Proxy0类加载到jvm中
    第三个参数,调用$Proxy0的构造函数 创建$Proxy0的对象
    代理可以应用到aop、spring中的事物管理等;
2、Observable类 和Observer接口
   # import java.util.Observable; 
   # import java.util.Observer;
  
   主要方法包括:Observable类的setChanged()、notifyObservers()、addObserver();
   Observer的public void update(Observable o, Object arg);
3、ExecutorService和Executors
   java用来执行并发操作的工具类
4、SoftReference 和weakreference
   做缓存和gc处理用。
5、守候进程
  final static long N=100000;
public void run(){
  try{
   System.out.println("测试 Finally 会不被执行");
  
   for(long i=0;i<N;i++){long a=i+1;
   System.out.println("a====="+a);
   }
  }
  finally{
   System.out.println("Finally 被执行");
  }
}
public static void main(String[] args){
  Thread f = new Thread(new Finally());
  f.setDaemon(true);
  f.start();
}
finally方法不一定执行,因为finally为守候进程,当主程序结束时,没有非守候进程的话,jvm将停止。
6、finally执行测试
System.out.print("测试finally单纯修改返回值");
    int i = 1;
    try {
      return i;
    } finally {
      i = i + 10;
    }
  返回的i为1;
6、ThreadLocal的用法
确保在多线程,各个线程获得自己的对象,ThreadLocal。set(),ThreadLocal。get();
可以用来在各个dao中保存connection连接。
分享到:
评论

相关推荐

    java大家容易遗忘的基础,0分超值

    根据给定文件的信息,我们可以提炼出一系列与Java基础相关的知识点,包括字符串操作、类型转换、基本控件等。下面将对这些知识点进行详细的说明。 ### 字符串操作 #### 获取字符串长度 - **方法**: `length()` - *...

    java基础易忘

    ### Java基础易忘知识点详解 #### 1. Java编译过程 - **源代码到字节码**: `.java` 文件经过编译后会生成 `.class` ...以上知识点涵盖了 Java 基础编程中容易遗忘的一些细节,对于深入理解和掌握 Java 语言至关重要。

    Java技术栈容易疏忽和遗忘的知识概述

    本文件总结了JavaEE,MySQL,JVM,JDBC,SSM,Spring Boot中容易遗忘但必须记住的知识点

    java异常处理.xmind

    java异常处理思维导图,自己根据尚硅谷的视频总结的思维导图,主要针对容易遗忘的知识点,方便自己记忆

    Java心得 学JAVA必看

    随着学习内容的增加,很容易遗忘之前学过的知识点。因此,定期复习是非常有必要的。可以通过做练习题、写小项目等方式来巩固所学知识。 #### 20. 积极参与技术交流 参与技术社区的讨论,与其他开发者交流经验,不仅...

    JAVA并发编程实践 中文 高清 带书签 完整版 Doug Lea .pdf

    根据提供的文件信息,“JAVA并发编程实践 中文 高清 带书签 完整版 Doug Lea .pdf”,我们可以推断出这...通过深入学习这些知识点,可以帮助开发者更好地理解和应用Java并发编程技术,从而提高软件系统的性能和稳定性。

    基于SSM框架的Java Web开发课程教学中的几点思考.pdf

    - 学习效率低:由于缺乏集中的练习和开发,学生容易在课程之间遗忘之前学到的内容,导致整体学习进度缓慢且效果不理想。 3. 教学改进措施: - 转变为集中教学:通过将课程转化为集中实训课的方式,便于开展教学和...

    个人日常事务管理系统(java版)

    本系统采用Java编程语言开发,具备高度的安全性和可靠性,尤其适用于管理朋友生日、个人消费记录以及容易遗忘的重要信息。 首先,让我们来探讨一下Java在系统开发中的重要作用。Java是一种广泛使用的面向对象的编程...

    介绍Java中的内存泄漏Java开发Java经验技巧共3页

    然而,如果存在全局变量或静态字段引用了不再使用的对象,或者在集合类中遗忘了清除元素引用,那么即使对象不再使用,GC也无法正确地回收它们,从而引发内存泄漏。 解决Java内存泄漏的方法主要包括: 1. 使用弱...

    Java帮助文档API

    适合急用的人群,或者初学者 容易遗忘者

    软件工程专业Java语言系列课程教学改革研究.pdf

    在这些课程之间还要穿插DoNet课程,如C#语言程序设计、ASP.NET程序设计等,因此,学生在学习一段时间的Java课程后,又需要进行一段时间DoNet课程的学习,使得之前学习的Java知识容易被遗忘,教学效果差。 2. 课程...

    深入浅出Java注解(注解概述+注解的本质+反射注解信息+元注解+属性的数据类型及特别的属性:value和数组)

    Java 注解是 Java 中最重要却最容易被人遗忘的知识点。很多人不明白它是怎么起作用的,甚至有人把它和注释混淆。实际上,Java 注解是 Java 中一种特殊的元数据,提供了关于程序元素的信息。 注解概述 Java 注解的...

    基于Spring Boot 和 WxJava 实现的Java后端.rar

    1、技术介绍1.1、Java语言Java是一种跨平台的编程语言,它可以在不同的系统上运行,它是一个纯粹的面向对象的编程语言,java 的语言风格与 C++非常相近,它在 C++的基础上进行了创新,同时它遗弃了 C++里面比较难...

    Java多线程教程吐血整理干货.md

    #### stop,suspend,resume等方法为什么会被遗弃 - `stop`方法:此方法被弃用是因为它会导致不可预测的行为,包括资源泄露和可能的数据损坏。它强制终止线程的执行,而不考虑线程的内部状态。 - `suspend`和`resume`...

    MD5加密32位小写

    - **响应校验**:服务器返回的数据,客户端先计算MD5,然后与服务器提供的MD5值对比,确认数据在传输过程中未被篡改。 - **密码存储**:尽管MD5安全性较低,但在某些场景下仍可能用于存储用户密码的哈希值,但不...

    java代码(1)

    自己平时写的一些代码,容易遗忘,总结一下用于以后查找.

    WEB课程设计-基于Java web的教学管理系统.zip

    1、创建一个Web project2、添加JDBC的Jar包(该步骤比较容易被遗忘) 将Jar包添加到webroot/WEB-INF/lib目录中 该目录下的所有Jar包都会被自动添加到项目的classpath下3、在index.jsp中编写数据库连接代码

    基于Java程序设计的全程性、综合性考试模式改革与探究.pdf

    然而,传统的期末一次性考试模式往往难以全面、客观地评价学生的学习成效,容易导致“一考定终身”的现象,忽视了学生平时学习的过程和能力的发展。因此,本文针对Java程序设计课程,提出了一种全程性、综合性的考试...

    《Java程序设计》翻转课堂实践.pdf

    在传统的教学模式中,学生往往只重视考试,导致元知识和软知识变成了硬知识,时间一长便容易遗忘。然而,在翻转课堂中,“做中学”理念被强调,学生通过实际操作、实践项目等方式来学习知识,这更符合程序设计等技术...

    程序员考试刷题-java-tricks:您可能已经忘记甚至从未有机会看到的顶级OCA/OCP认证见解或Java技巧

    让我们从一些简单的事情开始,尽管有时会被遗忘——变量的默认值。 在 Java 原始变量中有默认值,例如 int 取值为 0,布尔值变为 false 等。 例如: public class DefaultValues { private int x; @Test public void...

Global site tag (gtag.js) - Google Analytics