- 博客(43)
- 资源 (1)
- 收藏
- 关注
原创 Java之初始化顺序实践
在创建Java对象时,需要将对象中的成员变量进行初始化后,才能调用对象的构造方法创建对象。本文中将会讲解初始化时父类与子类对应的顺序。
2023-08-28 23:05:56
1108
原创 Dubbo之URL源码解析
URL是dubbo的公共契约,可叫做“配置总线”,“统一配置模型”,用于各个扩展点的数据传递。URL进行数据模型统一,方便理解,且易读易写。
2023-08-27 23:14:28
470
原创 Java之动态代理实践
Java的动态代理,是代理模式的具体实现,即为其他对象提供一个代理以控制对某个对象的访问。Java的动态代理主要涉及两个类:java.lang.reflect.Proxy 和 java.lang.reflect.InvocationHandler,内部使用了缓存机制和反射机制实现。
2023-08-26 23:58:41
250
原创 Dubbo之InternalThreadLocal源码解析
对ThreadLocal的封装处理,内部使用的数据结构是数组,而ThreadLocal是使用hashCode来计算处理的,多了一步计算,还得解决hash冲突,所以InternalThreadLocal的访问性能更高
2023-08-26 23:57:59
336
原创 Java之对象引用实践
从JDK1.2版本开始,程序可以通过4种类型的对象的引用来管控对象的生命周期。这4种引用分别为,强引用、软引用、弱引用和虚引用。本文中针对各种引用做了相关测试,并做对应分析。
2023-08-25 22:08:58
869
原创 Dubbo之PojoUtils源码分析
PojoUtils转换中,简单类型包含:基本类型、Number、Date、元素为基本类型的数组、集合类型等。在类型转换时,会进行递归调用,一直解析到位简单类型为止。
2023-08-25 22:08:05
350
原创 Java之finally实践
在Java的异常处理中,finally语句块无论try语句中是否抛出异常,都能正常执行finally语句块中的内容。主要用于回收在try语句块中打开的资源,比如数据库连接,文件等。
2023-08-20 23:38:24
189
原创 Dubbo之Wrapper源码解析
为了减少反射的调用,Dubbo会为每个服务提供者的实现生成一个Wrapper类,通过Wrapper类去调用真正的接口实现类
2023-08-20 21:56:19
194
原创 Dubbo之DubboBootstrap源码解析
DubboBootstrap类是Dubbo的启动类,主要功能包括:Config配置初始化以及合法性检查服务启动、服务注册、服务引用注册钩子、服务销毁时做清理。
2023-08-18 16:35:32
299
原创 Dubbo之DubboBeanDefinitionParser源码解析
Dubbo框架会集成Spring的能力,在以XML方式配置信息时,会用自定义的处理器DubboNamespaceHandler和解析器DubboBeanDefinitionParser对XML进行解析,生成对应的Bean对象和Config对象
2023-08-17 20:26:28
602
原创 Dubbo之AbstractConfig源码解析
配置对象用来承载来自XML配置或注解配置的信息,每个配置关联的XML元素或注解都对应着一个Config对象,而AbstractConfig是对相关Config通用功能的处理,比如附加参数Map与Config对象的转换等等
2023-08-16 20:28:02
1286
原创 Dubbo之ExtensionLoader源码解析
ExtensionLoader包含了扩展机制的逻辑,类似ClassLoader的功能用途。ExtensionLoader主要功能是加载约定路径下的SPI文件,获取扩展类的类名,并做Class类、实例的缓存。里面还包含自动包装、自动加载、自适应、自动激活等功能的实现逻辑。不管是自适应扩展类@Adaptive、还是自动激活扩展类@Activate,最终都是找到明确的扩展名,然后通过getExtension(name)找到扩展实例不过查找扩展名方式有些不同,
2023-08-15 22:17:55
228
原创 PHP的知识概要
PHP技术基础1、PHP是Hypertext Preprocessor的缩写,是基于服务器端运行的脚本程序语言,可以实现数据库和网页之间的数据交互。PHP可以单独运行,也可镶嵌在HTML文件 中。它具有开发快速、性能稳定的优点。2、PHP是嵌入式脚本语言,需要使用分隔符与HTML进行区分。分割符为3、PHP是弱类型语言,数据类型一般不需要指定。PHP的变量类型主要有:整
2023-08-03 08:26:29
383
原创 Java网络的知识概要
---------------基础网络概念-----------------大多数应用程序 内置网络功能java简化网络程序编写网络:实时发送数据、接受数据的计算机和其它设备集合有线网络、无线网络网络节点 主机(完备功能a的节点)网络地址 字节序列 所有计算机网络都是包交换(分组交换)网络协议:网络通信规则网络分层:每一层只与紧挨其上和其下的层对话90
2016-10-10 13:18:23
403
转载 Dubbo的知识概念-- 转载
一、前言部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下。整理这篇文章差不多花了两天半时间,请尊重劳动成果,如转载请注明出处http://blog.csdn.net/hzzhoushaoyu/article/details/43273099
2016-09-24 00:11:47
483
原创 Java并发的知识概要
一、并发简介1.操作系统会为各个独立执行的进程分配各种资源,包括内存、文件句柄以及安全证书等。2.多个程序同时执行的优点:提高资源利用率;公平性(不同的进程都有机会执行);便利性;3.线程是轻量级进程,它是基本的调度单位,同一个进程的所有线程共享进程的内存地址单元。4.线程带来的问题:安全性问题(是否能获取到预期的值)、活跃性问题(某件正确的事情最终会发生)、性能问题(响应时间
2016-09-23 23:59:32
346
原创 Zookeeper的知识概要
一、分布式架构1.集中式系统:指一台或多台计算机组成中心节点,系统的所有业务和数据都部署在这个节点上。优点:部署结构简单。缺点:价格昂贵,存在明显的单点问题(一旦一台大型主机出现故障,整个系统将处于不可用状态)。2.分布式系统:指硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通讯和协调。特征有:分布性:计算机在空间上随意分布。对
2016-09-22 21:06:44
1821
原创 MyBatis的知识概要
1.mybatis接受的参数:(1)基本类型(2)对象(3)List(4)数组(5)Map,无论传哪种参数给mybatis,它都会将参数放在一个Map中,所以都可以按key取。如果传入基本类型:变量名作为key,变量值作为value 此时生成的map只有一个元素。如果传入对象:对象的属性名作为key,属性值作为value,如果传入List: "list"作为key,这
2016-09-21 17:16:13
374
原创 Spring的知识摘要
1.注解2.spring与数据库3. ApplicationContextAware使用http://blog.csdn.net/kaiwii/article/details/68726424、自动装配和自动检测5、装配list,set,map6、spring生命周期http://www.cnblogs.com/beiyer
2016-09-21 15:16:51
313
原创 Spring的知识概要
1.spring aop讲解http://www.cnblogs.com/yanbincn/archive/2012/08/13/2635413.html2.使用xmlBeanFactory需要使用Resource提供资源。Interface ResourceAPI说明描述Interface for a resource descriptor that abstracts fro
2016-09-21 11:49:35
325
原创 Java核心机制的知识概要
1.ORM(Object Relationship Mapping) 对象关系映射2.动态语言:程序运行时,可以改变程序结构或变量类型,如Python、ruby等但java不是动态语言,只是具有一定的动态性3.获取class对象的方式:(1)使用Class.forName()获取指定名称的类(2)使用 对象.class 获取Class(获取类的Class对象)4.对
2016-09-21 10:02:35
2418
原创 Java多线程的知识概要
1.程序 进程 线程(1)程序:指令集 静态概念(2)进程:操作系统 调度程序 动态概念(3)线程:在进程内的多条执行路径2.(1)进程是程序的一次动态执行过程,占用特定的地址空间(2)每个进程是独立的,由3部分组成cpu,data,code缺点:内存的浪费,cpu的负担3.(1)线程又称为轻量级进程(2)一个进程可拥有多个并发的线程(3)一个进程中
2016-09-21 09:50:44
285
原创 Java网络的知识概要
1.网络编程是底层数据的交换,网页编程是服务器与客服端数据交换。2.网络是由节点和连线构成,表示诸多对象及其相互联系。它将不同地域的计算机连在一起。按覆盖范围分为:局域网LAN(作用范围一般为几米到几十公里)。城域网MAN(界于WAN与LAN之间)。广域网WAN(作用范围一般为几十到几千公里)。传输介质 按通信方式分类:点对点传输网络、广播式传输网络3.
2016-09-21 09:38:24
494
原创 Java IO的知识概要
1.File 文件和目录路径名的抽象表示形式。 包含了磁盘文件本身的信息,而不是文件中的内容www.codeceo.com/article/java-file-class.html File类使用详解2.DataOutput 接口用于将数据从任意 Java 基本类型转换为一系列字节,并将这些字节写入二进制流。DataInput 接口用于从二进制流中读取字节,并根据所有 Jav
2016-09-21 09:17:41
682
原创 Java容器的知识概要
1.java关于集合(list,set,map)的遍历与增强for循环的使用(包括iterator、for的传统遍历、增强遍历 )http://www.xuebuyuan.com/1659025.htmlmap的遍历不能直接用Iterator遍历,需要先将key放到set视图中,list,set可以使用iterator、for遍历2.Arrays此类包含用来操作数组(比如
2016-09-21 09:01:33
345
原创 Spring MVC的知识概要
spring mvc中一些知识1.基本信息spring mvc基于Spring框架、Servlet、JSP的主流的Web开发框架。http使得Web服务器与浏览器之间可以通过互联网或内网进行数据交互。WebSocket协议:允许一个HTTP连接升级为WebSocket协议,支持双向通信,使得服务端可以通过此协议主动发起通客户端的会话通信。http请求包含3部分内容
2016-09-20 23:44:26
279
原创 MySQL的知识概要
MySQL中一些基础知识1.数据库:存储数据的仓库,有规律存储数据在磁盘上。MySQL:多用户、多线程、客户机/服务器。启动、连接、断开和停止MySQL服务器,net start/stop mysql。图形化工具phpMyAdmin等2.存储引擎:加速查询速度等。InnoDB:良好的事务管理、读写速率稍差。MyISAM:占用空间小、处理速度快、不支持事
2016-09-20 16:22:52
286
原创 Java7的知识概要
语法新特性1.Switch使用字符串,之前只能使用与整数兼容的类型 swicth(str){ case “男”: sex =“先生”; }2.数字字面量改进 int i = 500_000_000; 使用下划线分割,只能放在数字之间 int i = 0b101; 用0
2016-08-24 19:20:14
399
转载 java的热部署和热加载
热部署和热加载其实是两个类似但不同的概念一、热部署与热加载在应用运行的时升级软件,无需重新启动的方式有两种,热部署和热加载。对于Java应用程序来说,热部署就是在服务器运行时重新部署项目,热加载即在在运行时重新加载class,从而升级应用。二、实现原理热加载的实现原理主要依赖java的类加载机制,在实现方式可以概括为在容器启动的时候起一条后台线程,定时的检测类文
2016-08-23 11:28:54
6953
1
转载 jdk命令集合详解
1、java.exe:运行java程序。 2、javac.exe:编译的Java程序,生成.class文件 3、javaw.exe: 功能: 跟java命令相对的,可以运行.class文件,主要用来执行图形界面的java程序运行java命令时,会出现并保持一个console窗口,程序中的信息可以通过System.out在console内输出
2016-08-23 11:14:08
454
转载 linux防火墙查看
Linux下查看、关闭及开启防火墙命令1)永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2)即时生效,重启后复原 开启: service iptables start 关闭: service iptables stop
2016-08-20 19:06:18
305
原创 Redis的知识概念
数据结构和对象一、Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。redis是一个key-value存储系 统,高性能的key-value数据库。 Redis支持主从同步,提供五种数据类型:string,hash,list,set及zset(sorted set)。二、简单动态
2016-08-18 18:06:04
328
原创 计算机网络一些知识
计算机网络概论计算机网络定义:通过各种通信手段把地理上分散的计算机有机的连在一起,达到相互通信且共享资源。计算机网络的功能:数据通信;资源共享;提高可靠性;均衡负载和分布式处理;集中式处理。计算机网络发展过程:简单连接 -> 网络化连接 -> 网络互连和Internet。计算机网络的分类:可以按拓扑结构、地理范围、数据交换来分类,常见的分类有总线拓扑、局域网、报文交换等。计
2016-08-15 11:04:46
647
原创 操作系统一些知识概念
操作系统引论计算机系统由硬件和软件两部分组成。操作系统是配置在硬件上的第一层软件。操作系统的目标: 1)有效性:提高系统资源利用率和提高系统的吞吐量。 2)方便性:方便用户使用,使计算机易学、易会。 3)可扩充性:易于扩充。 4)开放性操作系统的作用: 1)作为用户与计算机硬件系统的接口。 2)作为
2016-08-07 23:27:46
656
2
原创 设计模式一些概念(三)
开放封闭原则 一个软件实体应当对扩展开放,则修改关闭。应当可以在不必修改源代码的情况下修改这个模块的行为。 设计的目的便在于面对需求的改变而保持系统的相对稳定,从而使得系统可以很容易的从一个版本升级到另一个版本。单一职责原则 就一个类而言,应该仅有一个引起它变化的原因。里氏代换原则 一个软件实体如果使用的是一个父类
2016-08-03 21:38:07
288
原创 设计模式一些概念(二)
外观模式一、概念 Facade模式也叫外观模式,为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。二、结构图三、角色和职责Facade:为调用方定义简单的调用接口。Clients:调用者。通过Facade接口调用提供某功能的内部类群。Packages:功能提供者。指提供功能的类群
2016-08-03 20:55:15
440
原创 设计模式一些概念(一)
简单工厂模式一、概念 属于类的创建型模式,又叫做静态工厂方法模式。对象的创建交由工厂实现,客户端不需要知道对象的创建过程,被创建的实例通常都具有共同的父类。二、角色和职责 工厂角色:被外界直接调用,创建所需的产品对象。 抽象角色:所创建的所有对象的父类。 具体产品角色:所创建的
2016-08-03 20:29:30
286
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人