自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (11)
  • 收藏
  • 关注

原创 arraylist、linkedlist、hashmap、hashset

java中四种基础集合arraylist、linkedlist、hashmap、hashset

2022-07-15 14:12:44 1008 1

原创 反射机制详解

上文中我们简略的讲解了一下反射机制的设计思想,本文我们详细讲解一下反射的具体实现在之前文章中我们讲到jvm类的加载过程加载-验证-准备-解析-初始化所有的对象实例化都是依据第一步加载生成的class对象,反射也是依据class对象代码构建的对象,代码可以正常编译,那代码编译的验证也是通过了,准备阶段主要是对于静态变量的初始化,这一步JVM完成了,在解析阶段,已经将class对象中的静态引用改为静态变量的地址信息,所以反射主要做初始化的步骤操作1.获取class方式 对象.getClass()类.cl

2022-06-29 17:57:28 443

原创 spring boot自动装载的设计思想

为什么要有反射机制这个东西当我们使用new实例化对象时,时再jvm加载时就开始创建对象,分配内存空间,当我们将所有对象都使用new进行实例化时,再程序启动后,jvm加载完成,堆内存中就已经存在了大量的对象,占用了大量的内存空间,有些业务可能并不常用,导致有些对象也会并不常用,但是由于new的对象时强引用,gc并不会回收对象,导致大量内存被这些不常用对象占用,这个叫做静态编译。如果将对象实例化的过程并不放在JVM加载过程中,二十再使用的时候才去申请内存空间,创建对象,就可以再jvm启动的时候,节省大量类的初始

2022-06-27 17:48:33 279

原创 spring 三级缓存

一.简介在上文提到spring如何解决jvm循环依赖问题,本文详细介绍spring如何用三级缓存解决循环依赖问题二.解决核心方式spring解决循环依赖主要运用到代理模式在java中当我们如下定义一个类当我们在使用new创建A对象的时候,A中成员B对象的值为Null,这就是代理模式解决循环依赖的核心点。代理模式是对使用对象进行一层套壳封装,比如最简单的静态代理,其实就是子类继承父类的成员变量以及方法,调用方调用子类方法来实现对父类方法的调用。循环依赖的主要问题是在实例化对象的

2022-06-24 17:11:56 451

原创 spring bean和类的new

简述spring ioc和jvm类的加载都是对java对象的创建、使用、销毁,本文主要讲述spring ioc对比jvm类的加载有那些改动而产生的优势spring IOC

2022-05-18 23:10:58 609

转载 JVM内存

1 JVM整体架构根据JVM规范,JVM内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。JVM内存区域JVM分为五大模块: 类装载器子系统 、 运行时数据区 、 执行引擎 、 本地方法接口 和 垃圾收集模块 。2 JVM运行时内存Java7和Java8内存结构的不同主要体现在方法区的实现 方法区是java虚拟机规范中定义的一种概念上的区域。 我们通常使用的Java SE都是由Sun JDK和OpenJDK所提供,这也是应

2022-05-16 18:27:51 137

原创 java类的加载过程

java类的加载过程

2022-05-16 18:21:55 6388

原创 fabric升级合约

还是先在控制台输入 docker exec -it cli bash 进入cli的控制台,默认cli的环境变量节点为peer0.org1.example.com.1.查看需要升级的智能合约信息目前已部署一个智能合约到peer0.org1.example.com,cli控制台输入命令:peer lifecycle chaincode queryinstalled查看mycc合约的package_id如下:查看mycc在mychannel通道的合约定义,cli控制台输入命令:peer lifec

2022-04-19 10:17:57 5356

原创 Linux安装nginx ssl

Linux安装nginx在linux下安装nginx,首先需要安装 gcc-c++编译器。然后安装nginx依赖的pcre和zlib包。最后安装nginx即可。1.先安装gcc-c++编译器yum install gcc-c++yum install -y openssl openssl-devel2.再安装pcre包yum install -y pcre pcre-devel3.再安装zlib包yum install -y zlib zlib-devel

2022-03-01 11:05:03 1133

原创 linux搭建fabric2.0

记录fabric2.0的安装过程

2022-02-10 12:38:27 1407

原创 redis集群

redis简单主从结构如上图所示,主从结构的redis由主节点负责读写操作,从节点负责读操作,这里做搭建介绍,具体工作原理不分析。下载安装redis压缩包解压压缩包,进入redis-5.0文件夹,运行命令./make install安装redis安装完成进入redis-5.0/src文件夹,执行./redis-server 指定配置文件 即可启动redisredis-cli 默...

2020-08-25 15:03:02 76

转载 java底层原理+调优总结+ 特别的疑问

面试发现经常有些重复的面试问题,自己也应该学会记录下来,最好自己能做成笔记,在下一次面的时候说得有条不紊,深入具体,面试官想必也很开心。以下是我个人总结,请参考:HashSet底层原理:(问了大几率跟HashMap一起面)HashMap底层原理:(非常大几率问到)Hashtable底层原理:(问的少,问了大几率问你跟HashMap的区别)s...

2019-07-02 10:55:49 270

转载 mongodb集群

mongodb的集群搭建方式主要有三种,主从模式,Replica set模式,sharding模式, 三种模式各有优劣,适用于不同的场合,属Replica set应用最为广泛,主从模式现在用的较少,sharding模式最为完备,但配置维护较为复杂。本文我们来看下...

2019-06-19 10:18:54 104

转载 rabbitmq集群搭建

rabbitmq的历史:RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ ...

2019-06-18 10:33:53 767

转载 安装zookeeper

左侧码工Linux下安装ZookeeperZookeeper是一个协调服务,可以用它来作为配置维护、名字服务、分布式部署;下面,我来分享一下在Linux下安装Zookeeper的整个步骤,让大家少走弯路。一、Zookeeper下载[root@localhost下载]#wgethttp://mirror.bit.edu.cn/apache/zooke...

2019-06-17 16:52:21 99

转载 ElasticSearch6.4.0集群搭建

一、软件及环境准备服务器环境CentOS6.9_64位两台es-master:192.168.0.11es-slave:192.168.0.12注意:内存允许的情况下,稍微给大一点内存,否则启动会失败,本地测试可以使用1.5-2G内存,es-master上准备搭建两个节点,所以内存最好给到2G以上.ES软件最新版ElasticSearch6.4.0下载地址:https://ar...

2019-06-17 15:58:41 627

转载 es集群搭建

1.服务器(系统版本 centos7)三台(没有的话,可以在一台pc上尝试不同端口):1. 172.16.31.2202. 172.16.31.2213. 172.16.31.2242.JDK (下载最新版本JDK,至少JDK1.8,最新版本ES需要1.8的jdk环境):博主的为:配置JDK1.8环境变量(自行解决。。。)3.elasticsearch-5.3.1....

2019-06-15 11:18:34 192

转载 redis安装问题

环境:centos7 + redis 5.0解决方案仅供参考,如不能解决问题,请查找请他方案。1、不能编译没有GCC编译工具make报错:make[1]:[persist-settings]Error2(ignored)CCadlist.o/bin/sh:cc:commandnotfoundmake[1]:***[adlis...

2019-06-14 14:45:44 548

转载 linux安装JDK1.8

一、下载jdk1.8# wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa8016...

2019-06-14 14:11:20 110

转载 linux安装redis

安装:1.获取redis资源  wget http://download.redis.io/releases/redis-4.0.8.tar.gz2.解压  tar xzvf redis-4.0.8.tar.gz3.安装  cd redis-4.0.8  make  cd src  make install PREFIX=/usr/local/redis4....

2019-06-14 14:11:13 73

转载 linux安装mysql

1、配置YUM源在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/# 下载mysql源安装包shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm# 安装mysql源shell> yum lo...

2019-06-14 14:11:05 77

转载 mysql外网连接

mysql中输入如下命令grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;FLUSH PRIVILEGESremote为登录的账号 123456为登录的密码

2019-06-14 11:18:38 1274 1

原创 linux安装gcc

#!/bin/bashyum install mpfr -yyum install gmp -yyum install *mpc* -yyum install glibc-static libstdc++-static -yyum -y install gcc gcc-c++cd /mntwget http://mirrors.concertpass.com/gcc/release...

2019-06-13 11:59:44 190

Xshell+Xftp.zip

Xshell+Xftp破解版,解压直接使用,xshell解压之后点击绿化.bat,xftp可用序列号生成器生成序列号进行破解

2019-07-16

协议和技术.docx

TCP是面向连接的一种传输控制协议。TCP连接之后,客户端和服务器可以互相发送和接收消息,在客户端或者服务器没有主动断开之前,连接一直存在,故称为长连接。特点:连接有耗时,传输数据无大小限制,准确可靠,先发先至。 UDP是无连接的用户数据报协议,所谓的无连接就是在传输数据之前不需要交换信息,没有握手建立连接的过程,只需要直接将对应的数据发送到指定的地址和端口就行。故UDP的特点是不稳定,速度快,可广播,一般数据包限定64KB之内,先发未必先至。

2019-06-13

Jenkins.docx

jenkins是基于java开发的一种持续集成工具,用于监控持续重复的工作,功能包括。

2019-06-13

数据仓库调研.docx

数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。 数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。 数据仓库 比较流行的有:AWS Redshift, Greenplum, Hive等 (1)面向主题:指数据仓库中的数据是按照一定的主题域进行组织。 (2)集成:指对原有分散的数据库数据经过系统加工, 整理得到的消除源数据中的不一致性。 (3)相对稳定:指一旦某个数据进入数据仓库以后只需要定期的加载、刷新。 (4)反映历史变化:指通过这些信息,对企业的发展历程和未来趋势做出定量分析预测。

2019-06-13

分布式事务处理方案.docx

数据库事务的几个特性:原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily),简称就是ACID。 从广义上来看,分布式事务其实也是事务,只是由于业务上的定义以及微服务架构设计的问题,所以需要在多个服务之间保证业务的事务性,也就是 ACID 四个特性;从单机的数据库事务变成分布式事务时,原有单机中相对可靠的方法调用以及进程间通信方式已经没有办法使用,同时由于网络通信经常是不稳定的,所以服务之间信息的传递会出现障碍,而导致各个微服务之间执行不一致而导致数据不一致问题。

2019-06-13

webrtc.docx

1.WebRTC 是一个开源的实时通信项目, 主要目标是对Web/原生App平台上的语音、视频、以及数据传输等实时通讯提供支持。 2.目前, PC版和Android版的 Firefox、Opera 和 Chrome 浏览器都支持WebRTC。 此外、iOS和Android的一些原生App也支持WebRTC。

2019-06-13

Jetty和tomcat比较.docx

相同点: 1.      Tomcat和Jetty都是一种Servlet引擎,他们都支持标准的servlet规范和JavaEE的规范。     不同点: 1.      架构比较 Jetty的架构比Tomcat的更为简单 Jetty的架构是基于Handler来实现的,主要的扩展功能都可以用Handler来实现,扩展简单。 Tomcat的架构是基于容器设计的,进行扩展是需要了解Tomcat的整体设计结构,不易扩展。  

2019-06-13

oauth2 sso.docx

OAuth2.0简单说就是一种授权的协议,只要授权方和被授权方遵守这个协议去写代码提供服务,那双方就是实现了OAuth2.0模式。

2019-06-13

otter集群配置.docx

1)基于Canal开源产品,获取数据库增量日志数据; 2)典型管理系统架构,manager(web管理)+node(工作节点);      a. manager运行时推送同步配置到node节点     b. node节点将同步状态反馈到manager上 3)基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作; 4)原理图如下所示:

2019-06-13

servlet演示

基于servlet的基本应用开发第三方

2015-08-24

空空如也

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

TA关注的人

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