自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 源码学习之设计模式(单例模式)

众所周知,单例模式分为饿汉式和懒汉式,昨天在看了《spring5核心原理与30个类手写实战》之后才知道饿汉式有很多种写法,分别适用于不同场景,避免反射,线程不安全问题。下面就各种场景、采用的方式及其优缺点介绍。饿汉式 (绝对的线程安全)代码示例1.第一种写法 ( 定义即初始化)public class Singleton{ private static final Singlet...

2019-12-16 20:16:31 951

原创 JVM之Java技术体系结构介绍

Java技术体系 Java程序设计语言 各种硬件平台上的Java虚拟机实现 Class文件格式 Java类库API 来自商业机构和开源社区的第三方Java类库 java 语言组成 Java ME(Micro Edition):支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了移动终端的针对性支持,这条产品线在JDK 6以前被称为J2ME。有一点请勿混淆,现在在智能手机上非常流行的、主要使用Java语言开发程

2021-01-06 16:50:04 199

原创 IDEA优化(windows端)

IDEA优化(windows端)电脑配置参数Operating System: Windows 10 专业版 64-bit (10.0, Build 19041) (19041.vb_release.191206-1406)Processor: Intel® Core™ i7-10510U CPU @ 1.80GHz (8 CPUs), ~2.3GHzMemory: 16384MB RAM启动参数优化添加路径:IDEA:help->Edit Custom VM Options-serve

2020-11-02 10:18:50 590

原创 父子类相互强转

父子类相互强转问题引入先来看一段代码public class Main { public static void main(String[] args) throws IOException { Father child = new Child(); child.setName("child"); System.out.println(child); Father father = new Father(); fa

2020-09-17 20:17:54 509

原创 项目实战之干掉Web.xml

引言在java Web开发过程我们早已习惯了Web.xml的繁杂的配置,我们从生产低下的”jsp Servlet”时期进入到SSH在步入到较为先进的SSM时期,仍然没有逃脱Web.xml.令人惊喜的是Servlet3.0 带来了全新的配置方式允许我们可以使用编程的方式实现接口去进行ServletContext配置.正如Spring官方文档里说的,这和基于(或者可能是结合)传统的web.xml方法...

2019-12-27 10:48:34 413

原创 源码学习之设计模式(代理模式)

今天要说的是设计模式中的代理模式。代理模式在我们生活中极其常见----中介机构,委托人等,这些都是代理,就连老美想当世界警察,打的战争都是代理人战争。那什么是代理呢?代理在百度百科上这样解释的 : 一般做法是由委托人与代理人签订代理协议,授权代理人在一定范围内代表其向第三者进行商品买卖或处理有关事务 。而在编程中是一个对象为其他对象提供一个代理,以控制对这个对象的访问。实际上来说,代理模式是...

2019-12-22 21:33:40 956

原创 源码学习之Spring (系统架构简单解析)

Spring Framework 系统架构总览图Spring Framework的模块依赖关系图Spring Framework各个模块功能说明Spring核心模块模块名称主要功能Spring-core依赖注入IOC和DI的基本实现Spring-beansBean工厂与Bean的装配Spring-context定义基础的Spring的Context上...

2019-12-21 21:58:17 939

原创 源码学习之设计模式(策略模式)

今天要给大家说的是策略模式。先不做解释,先看代码,体会一下策略模式的神奇。修改前的代码public class Main { public static void main(String[] args) { String payType = "wxPay"; if(payType.equals("alipay")){ ...

2019-12-20 11:25:33 948

原创 源码学习之设计模式(委托模式)

今天要说的是委派模式。使用起来 和代理模式有点像,在《设计模式之禅》中讲到代理模式就是委派模式,对于这个观点我不敢苟同。看了《Spring5核心原理与30个类手写实战》以及网上查阅资料,我总结了以下几点:代理模式注重过程,而委派模式更加看重结果。生活中常有委派发生,班级大扫除的时候,班主任安排任务给班长,班长把分配给同学们,班主任呢,他只关注打扫的干不干净,至于怎么打扫的,他不太关心。代理...

2019-12-19 13:19:24 958

原创 源码阅读之设计模式2(代理模式)

今天要说的是设计模式中的代理模式。代理模式在我们生活中极其常见----中介机构,委托人等,这些都是代理,就连老美想当世界警察,打的战争都是代理人战争。那什么是代理呢?代理在百度百科上这样解释的 : 一般做法是由委托人与代理人签订代理协议,授权代理人在一定范围内代表其向第三者进行商品买卖或处理有关事务 。而在编程中是一个对象为其他对象提供一个代理,以控制对这个对象的访问。实际上来说,代理模式是...

2019-12-19 09:30:02 172

转载 为什么JDK动态代理中要求目标类实现的接口数量不能超过65535个

先明确几个概念:Class文件是一组以8字节为基础单位的二进制流各个数据项目严格按照顺序紧凑排列在class文件中中间没有任何分隔符,这使得class文件中存储的内容几乎是全部程序运行的程序Java虚拟机规范规定,Class文件格式采用类似C语言结构体的伪结构来存储数据,这种结构只有两种数据类型:无符号数和表接口索引计数器(interfaces_count),占2字节参考第一句话:class文件...

2019-12-16 20:58:02 670

原创 4、自己手写ORM框架之代理实现SQL语句执行

package com.framework.betterorm.proxy;import com.framework.betterorm.Datesource.AbstractDataBaseOperationFactory;import com.framework.betterorm.annotation.Delete;import com.framework.betterorm.a...

2019-06-04 14:57:38 193

原创 3、自己手写ORM框架之执行SQL语句

首先定义一个类去获取对象你的属性及其值ObjectFields.javapackage com.framework.betterorm.reflection;import com.framework.betterorm.test.User;import java.beans.PropertyDescriptor;import java.lang.reflect.Field;...

2019-06-04 14:49:02 493

原创 2、自己手写ORM框架之标记处理器

上篇博文讲述了如何创建Connection对象的,这篇将会讲述mybatis是如何处理注解字符串信息的,可能有不相同的地方,但其思想大体一致。GenericTokenParser.java这个类很简单就是处理字符串并返回package com.framework.betterorm.parsing;import java.util.ArrayList;import java....

2019-06-04 14:43:14 122

原创 1、自己手写ORM框架之创建Connect对象

类图此类图主要是获取数据库类图,DataBaseOperation是一个接口,定义了数据库的主要操作;AbstractDataBaseOperationFactory是一个抽象类,是所有数据库操作的基类,所有的数据库局要继承次此类,去实现特定的操作;此类图中使用了模板方法。其相关的代码如下DataBaseOperation.javapackage com.framework...

2019-06-04 14:34:27 319

原创 关于ubantu安装cmake

下载源码编译CMake到cmake官网下载最新的cmakehttps://cmake.org/download/1下载后解压,然后进入目录执行:./bootstrapmake -j8sudo make install123验证版本cmake --version1cmake version 3.9.0CMake suite maintained and supported by Kitwar...

2018-07-12 17:24:39 319

P2P网络技术原理与C++开发案例

非常好的学习p2p模式开发,深层次理解p2p模式,基于c++

2018-04-01

skarf中文API文档

水平有限 请见谅。使用js创建在web页面上的AR应用程序,需配合JSARtoolkit库使用

2018-03-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除