随笔分类 -  java基础

开发语言详解
摘要:Java反射机制详解 | |目录 1反射机制是什么 2反射机制能做什么 3反射机制的相关API ·通过一个对象获得完整的包名和类名 ·实例化Class类对象 ·获取一个对象的父类与实现的接口 ·获取某个类中的全部构造函数 - 详见下例 ·通过反射机制实例化一个类的对象 ·获取某个类的全部属性 ·获取 阅读全文
posted @ 2022-02-16 14:15 hanease 阅读(44) 评论(0) 推荐(0)
摘要:Java 正则表达式 正则表达式定义了字符串的模式。 正则表达式可以用来搜索、编辑或处理文本。 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。 正则表达式实例 一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 "Hello World" 字符串。 阅读全文
posted @ 2022-02-16 14:14 hanease 阅读(618) 评论(0) 推荐(0)
摘要:本文的主要内容如下图所示: 什么是延迟任务?顾明思议,我们把需要延迟执行的任务叫做延迟任务。 延迟任务的使用场景有以下这些: 红包 24 小时未被查收,需要延迟执退还业务;每个月账单日,需要给用户发送当月的对账单;订单下单之后 30 分钟后,用户如果没有付钱,系统需要自动取消订单。等事件都需要使用延 阅读全文
posted @ 2022-02-16 10:18 hanease 阅读(246) 评论(0) 推荐(0)
摘要:目录 1、最基础注解(spring-context包下的org.springframework.stereotype) 1.1、@Controller @Service @Repository @Configuration @Component (1)解释 (2)示例 1.2、 @Bean (1)解 阅读全文
posted @ 2022-02-15 10:30 hanease 阅读(1533) 评论(0) 推荐(0)
摘要:Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。 Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注 阅读全文
posted @ 2022-02-15 10:27 hanease 阅读(99) 评论(0) 推荐(0)
摘要:TOMCAT 7新特性 1 使用随机数去防止跨站脚本攻击。 2 改变了安全认证中的jessionid的机制,防止session攻击。 3 内存泄露的侦测和防止 4 在war文件外使用别名去存储静态内容。 TOMCAT 7的增强功能 5 对Servlet 3.0,JSP 2.2和JSP-EL 2。2的 阅读全文
posted @ 2022-02-14 21:15 hanease 阅读(80) 评论(0) 推荐(0)
摘要:sax, dom, jdom技术的优缺点比较 SAX分析器在对XML文档进行分析时,触发一系列的事件,应用程序通过事件处理函数实现对XML文档的访问。由于事件触发本身是有时序性的,因此,SAX分析器提供的是一种对XML文档的顺序访问机制,对于已经分析过的部分,不能再倒回去重新处理。 SAX 之所以被 阅读全文
posted @ 2022-02-14 21:05 hanease 阅读(219) 评论(0) 推荐(0)
摘要:一、过滤器 1.什么是过滤器? 过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择: ①以常规的方式调用资源(即,调用servlet或JSP页面)。 ② 阅读全文
posted @ 2022-02-14 20:57 hanease 阅读(4034) 评论(0) 推荐(0)
摘要:一、总括 java底层并发包,笔者将该包大致分成3个层次。 1、基础依赖: 共享变量volatile:有利于线程可见性。Unsafe类:CAS(Compare and Swap)比较并交换,用于并发下交换数据;Thread相关挂起(park)及取消挂起的功能。2、基础类(基础类的实现基本是基于基础依 阅读全文
posted @ 2022-02-14 16:52 hanease 阅读(364) 评论(0) 推荐(0)
摘要:记得开始学习Java的时候,一遇到多线程情况就使用synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着学习的进行我们知道在JDK1.5之前synchronized是一个重 阅读全文
posted @ 2022-02-06 15:31 hanease 阅读(223) 评论(0) 推荐(0)
摘要:一、概述1、synchronized作用 原子性:synchronized保证语句块内操作是原子的可见性:synchronized保证可见性(通过“在执行unlock之前,必须先把此变量同步回主内存”实现)有序性:synchronized保证有序性(通过“一个变量在同一时刻只允许一条线程对其进行lo 阅读全文
posted @ 2022-02-05 22:03 hanease 阅读(372) 评论(0) 推荐(0)
摘要:一、线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括: Java线程具有七种基本状态 新建状态(New):至今尚未启动的线程的状态。线程刚 阅读全文
posted @ 2022-02-05 21:50 hanease 阅读(974) 评论(0) 推荐(0)
摘要:文章目录: 一、volatile的作用1.1、volatile变量的可见性1.2、volatile变量的禁止指令重排序二、volatile的的底层实现2.1、 Java代码层面2.2、字节码层面2.3、JVM源码层面2.4、汇编层面2.5、硬件层面 volatile关键字是Java虚拟机提供的最轻量 阅读全文
posted @ 2022-02-05 21:44 hanease 阅读(653) 评论(0) 推荐(0)
摘要:引言: 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值,以及在Spring MVC中如何使用它们来映射请求信息。 1. Content-Type Medi 阅读全文
posted @ 2021-12-22 22:33 hanease 阅读(179) 评论(0) 推荐(0)
摘要:UDP传输:面向无连接的协议,不可靠,只是把应用程序传给IP层的数据报包发送出去,不保证发送出去的数据报包能到达目的地。不用再客户端和服务器端建立连接,没有超时重发等机制,传输速度快是它的优点。就像寄信,写好信放到邮箱桶里面,既不能保证信件在邮递过程中不丢失,也不能保证信件是按顺序寄到目的地的。 看 阅读全文
posted @ 2021-12-22 22:32 hanease 阅读(67) 评论(0) 推荐(0)
摘要:问题: 在运行时,对一个JAVA类,能否知道属性和方法;能否调用它的任意方法? 答案是可以的,JAVA提供一种反射机制可以实现。 目录 什么是JAVA的反射机制 JDK中提供的Reflection API JAVA反射机制提供了什么功能 获取类的Class对象 获取类的Fields 获取类的Meth 阅读全文
posted @ 2021-12-22 22:19 hanease 阅读(30) 评论(0) 推荐(0)
摘要:ConcurrentHashMap结构图如下: ConcurrentHashMap实现类图如下: segment的结构图如下: package concurrentMy.juc_collections.hashMap; import java.io.IOException; import java. 阅读全文
posted @ 2021-12-22 22:17 hanease 阅读(46) 评论(0) 推荐(0)
摘要:深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多 不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。 阅读全文
posted @ 2021-12-22 22:05 hanease 阅读(52) 评论(0) 推荐(0)
摘要:思考为什么要引入容器这个概念? Java有多种方式保存对象(应该是对象的引用),例如使用数组时保存一组对象中的最有效的方式,如果你想保存一组基本类型的数据,也推荐使用这种方式,但大家知道数组是具有固定尺寸的,你必须事先知道你要需要多少个对象。但是在一般的情况中,你在写程序中并不知道将需要多少个对象, 阅读全文
posted @ 2021-12-22 21:56 hanease 阅读(60) 评论(0) 推荐(0)
摘要:1.基本数据结构 1. JDK1.7 数组 + 链表 2. JDK1.8 数组 + (链表 | 红黑树) 2.树化与退化 1.树化意义 1.红黑树用来避免Dos攻击,防止链表过长时性能下降,树化应该是偶然情况,是保底策略. 2.hash 表的查找,更新的时间复杂度是 O(1),而红黑树的查找,更新的 阅读全文
posted @ 2021-12-14 22:03 hanease 阅读(51) 评论(0) 推荐(0)