- 博客(12)
- 收藏
- 关注
转载 AOP和IOC
用过spring的朋友都知道spring的强大和高深,都觉得深不可测,其实当你真正花些时间读一读源码就知道它的一些技术实现其实是建立在一些最基本的技术之上而已;例如AOP(面向方面编程)的实现是建立在CGLib提供的类代理和jdk提供的接口代理,IOC(控制反转)的实现建立在工厂模式、java反射机制和jdk的操作XML的DOM解析方式.下面来对spring源码中的基本技术进行深入的剖析:先来说说AOP的实现,其实AOP就靠代理模式实现的,如:org.springframework.aop.framewo
2020-08-14 18:32:14 177
原创 枚举 & 注解
枚举 & 注解1、枚举1.1、简介JDK1.5引入了新的类型——枚举。在JDK1.5 之前,我们定义常量都是: public static fianl… 。很难管理。枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。用于定义有限数量的一组同类常量,例如:错误级别:低、中、高、急一年的四季:春、夏、秋、冬商品的类型:美妆、手机、电脑、男装、女装…在枚举类型中定义的常量是该枚举类型的实例。1.2、定义格式权限修饰符 enum 枚举名称 { 实
2020-07-06 16:27:08 307
原创 JVM(GC)
JVM一、JVM体系结构:类装载器ClassLoader:用来装载.class文件执行引擎:执行字节码,或者执行本地方法运行时数据区:方法区、堆、Java栈、程序计数器、本地方法栈JVM把描述类数据的字节码.Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。二、JVM原理:JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,
2020-06-22 16:14:06 196
原创 web笔记
HTTP协议简介超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)所发起。HTTP的标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组(Internet EngineeringTask Force,IETF)进行协调,最终发布了一系列的RFC,
2020-06-15 16:33:06 178
原创 从连接池获取连接池类
从连接池获取连接池类:(druid连接池)public class DruidUtil{ private static DataSource data = null; static { InputStream is = DruidUtil.class.getClassLoader().getResourceAsStream("druid.properties"); Properties ppt = new Properties(); try {
2020-06-08 15:11:20 434
原创 java面试题
Java面试题四道:1.String s = new String(“xyz”);创建了几个StringObject? A. 两个或一个都有可能 B.两个 C.一个 D.三个2.对于Java中异常的描述正确的是()。 A.用throws定义了方法可能抛出的异常,那么调用此方法时一定会抛出此异常。 B.如果try块中没有抛出异常,finally块中的语句将不会被执行。 C.抛出异常意味着程序发生运行时错误,需要调试修改。 D.Java中的可不检测(unchecked)异常可
2020-06-01 17:00:24 528
转载 设计模式 装饰器模式
装饰器模式装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类。介绍意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。主要解决:一般的,我们为了扩展一个
2020-05-25 19:39:57 138
原创 网络编程
网络编程网络常识1.什么是计算机网络分布在不同地域的计算机,通过硬件等网络设备使用通信线路互相连接形成的一个网络系统,计算机网络,可以很方比那的进行 信息的传递,资源的共享。2.什么是计算机的IP地址IP 地址是计算机在互联网中的唯一标识,就像人在社会中的身份证号码内网IP公网IP本机IP:127.0.0.1localhostIP地址分类:IPv4IPv63.什么是网络中网站的域名域名可以简单的理解为,IP地址的别名,更方便记忆,当输入域名后,计算机会访问域名解析商,然后得到i
2020-05-18 16:29:44 429
转载 java隐式锁和显式锁的区别
Java中隐式锁:synchronized;显式锁:locksync和lock的区别一:出身不同从sync和lock的出身(原始的构成)来看看两者的不同。Sync:Java中的关键字,是由JVM来维护的。是JVM层面的锁。Lock:是JDK5以后才出现的具体的类。使用lock是调用对应的API。是API层面的锁sync是底层是通过monitorenter进行加锁(底层是通过monitor对象来完成的,其中的wait/notify等方法也是依赖于monitor对象的。只有在同步块或者是同步方法中才
2020-05-18 16:28:33 229
原创 多线程笔记
多线程技术概述线程与进程进程是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间线程是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行. 一个进程最少有一个线程线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分成若干个线程线程调度分时调度所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间。抢占式调度优先让优先级高的线程使用 CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),Java
2020-05-18 16:27:12 104 1
原创 类集笔记
类集常见的数据结构栈:stack限定仅在表尾进行插入和删除操作的线性表。把允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何数据元素的栈称为空栈。存元素:压栈取元素:弹栈队列:queue只允许在表的一端进行擦汗如,在另一端进行删除元素的线性表。队尾(rear)是允许插入的一端,队头(front)是允许删除的一端。空队列是不含元素的空表。数组:array有序的元素序列,是内存中...
2020-05-06 18:44:57 114
原创 每日一道算法题(day01)
题目描述给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。现在请计算A+B的结果,并以正常形式输出。输入输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。输出请计算A+B的结果,并以正常形式输出,每组数据占一行。样例输入-234,567,890 123,456,7891,234 2,345,678...
2020-04-19 22:24:24 175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人