自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (3)
  • 收藏
  • 关注

原创 helloworld

hello world 1024

2022-10-24 19:30:49 88 2

原创 docker入门

docker engine

2022-05-16 21:23:43 98

原创 用java获取linux服务器下的内存,cpu使用率,和硬盘信息

思路:java执行脚本,拿到返回值,读取返回值,再对返回值进行分析获取想要的值。 传统的jdk查询系统信息不适用,要么是误差大,要么是难以实现。 //代码运行到linux上 //获取 disk使用情况 单位Byte public static Map<String, Object> getDiskStatus() { Map<String, Object> diskMap = new LinkedHashMap<>(); long total = 0; try { //j

2021-04-27 17:39:42 1652

原创 dubbo开始

一.RPC(Remote Procedure Call)介绍: 远程过程调用,分布式的核心,一台电脑远程调用一台电脑的服务。 是进程间通信的方法,通过响应的分类,将RPC分为两类: 1.同步通信: 客户端调用服务端方法,一定等待服务端执行完毕返回结果后,客户端再调用其他方法。 2.异步通信: 客户端调用服务端方法,不用等待服务端执行,客户端就继续自己的操作。 RPC组件: 1.客户端:服务调用者 ,将请求信息发送给客户端存根。 2.客户端存根:存储服务端地址信息,客户端信息远程传输给客户端存根再发送给服务端

2021-01-22 16:57:41 130

原创 zookeeper起步

1.什么是zookeeper: zookeeper是动物园管理员,动物园中有许多动物,这些动物就是一个个服务,zookeeper做的就是管理这些服务。 zookeeper:是一个分布式的小文件管理系统,管理分布式服务 2.zookeeper的应用场景: - 注册中心: 注册中心好比房屋中介,协调服务提供者和服务消费者,快速完成消费即服务调用。 1.服务提供者注册到zookeeper。 2.服务消费者注册到zookeeper。同时订阅服务。 3.消费者调用服务提供者的方法。 4.当服务提供者的方法发生变更,z

2021-01-20 09:40:01 90

原创 redis高可用

一.redis缓存问题介绍: 1.缓存穿透: 指的是:查询数据库不存在的key值,查询时一直不查询redis缓存,就像redis缓存透明一样。 解决: 方法1.就算数据库查询不到值也存放到redis,key是用户查询的name,value是null,设置一个短暂的key存活时间。 方法2:布隆过滤器:预先在布隆过滤器存放有效的key,不在过滤器里的key就直接返回为null 2.缓存雪崩: 指的是:一时间大量的key过了有效期,导致大量并发查询数据库。 或者指的是redis服务器宕机。大量查询数据库。 解决

2021-01-18 17:35:28 111 2

原创 容器式单例自定义工厂(模拟spring容器)

工具类作用: 1.根据配置文件反射创建类对象存入容器, 2.根据对象里的自动装配注解,定义成员对象 一:配置文件配置类的全限定名 配置好的类会用工具类存储到map容器中 <beans> <bean id="UserService" className="com.alibaba.service.impl.UserServiceImpl"></bean> <bean id="UserDao" className="com.alibaba.dao.UserDaoImpl.

2021-01-04 17:42:48 127 1

原创 自定义mvc

前端: 1.请求服务器路径:/user/login和/user/register 2.servlet的作用在于根据路径引导请求去访问Control中的哪个方法 3.执行controller包中的众多的Control类的方法。 <a href="user/login.do">访问login</a> <hr> <a href="user/register.do">访问register</a> 配置web.xml: 作用: 1.配置前端访问servle

2020-12-27 16:11:17 63 1

原创 动态代理小案例:增强request.getParameter();方法过滤非法字符

需求:传到服务器之前就让过滤器将非法字符转成* 前端显示部分: 过滤效果: 过滤器: 将脏话字符放到文本里在过滤器init方法读取。 动态代理增强getParameter()方法 过滤链放行代理对象 package com.alibaba.filter; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import

2020-12-27 11:53:18 354 1

原创 json转java对象,java对象转json,自定义工具类封装对象与写给客户端

jackson:apache jar包 一.jackson的方法 ObjectMapper类的静态方法: 1.将json转对象的方法: new ObjectMapper().readValue("",Class<Object>clazz);返回java对象。 第一个参数用request.getInputStream()获取客户端传来的值。 第二个参数是javabean的Class对象。 2.将对象转json的方法: new ObjectMapper().writeValueAsString(O

2020-12-07 16:44:24 259

原创 java用ThreadLocal,事务的转账案例

页面内容 一。DruidUtil 工具类 public class DruidUtil { private static DataSource dataSource; private static ThreadLocal threadLocal=new ThreadLocal();//threadLocal线程只存一个值且与其他线程独立 static { try { //1. 创建Properties对象 Proper

2020-12-07 15:16:02 158 1

原创 关于自定义Druid工具类和commons-dbutils操作数据库

数据库配置文件并mark好 # 数据库连接参数,注意不要配置错了 url=jdbc:mysql://localhost:3306/day29?characterEncoding=utf8 username=root password=root driverClassName=com.mysql.jdbc.Driver # 连接池的参数 initialSize=20 maxActive=30 maxWait=2000 一。自定义Druid工具类 编写德鲁伊工具类: 1.封装每次使用连接池连接数据库的相同步

2020-12-07 12:35:36 255

原创 关于反射与动态代理

类加载: 1.在编译后的类会成为字节码文件.class,.class文件里有类的所有信息(包括成员变量,构造函数,成员方法) 2.当运行到创建类的实例时jvm就会加载该类的.class文件称为类的加载。 3.将成员方法,成员变量,构造方法存储在Class对象里,Class对象存储在方法区中。 类加载时机: 1.创建实例 2.调用静态方法。 3.使用类的静态变量。 4.通过反射创建类的对象。 5.初始化类的子类。 反射: 作用:通过反射机制获得类的构造方法,成员变量,成员方法。 获取Class对象 Class

2020-11-30 15:19:30 146

原创 数据库的连接与事务

数据库的连接有内连接,外连接,外连接又分为左外连接,右外连接。 内连接: 根据查询条件不会显示查询条件不存在情况下的空值。 隐式内连接:select * from 表1,表2 where 主键=外键。 显示内连接:select * from 表1 inner join 表2 on 主键=外键 where 其他条件。 给表名设置别名select * from 表1 [as] 别名 inner join 表2 [as] 别名2 on 主键=外键 where 其他条件。 笛卡尔积:select * from

2020-11-23 17:08:39 664

原创 java集合

文章目录Collection接口:所有单列集合的父接口,Map接口:双列集合。所有双列集合的顶层接口。用键值对的方式存储数据。MapCollection接口:所有单列集合的父接口, List接口是Collection的子接口,其常用实现类有ArrayList(数组)和LinkedList(链表)。 Set接口是Collection的子接口,其常用实现类有HashSet(元素唯一,无序存储,无索引)和LinkedHashSet(元素唯一,有序存储,无索引)和TreeSet(元素唯一,可指定排序方式存储,无索引

2020-11-23 11:20:46 95

原创 连接池操作数据库的正确方式

连接池的作用: 初始化一些个连接,每次需要时从空闲池中获取,用完再归还池中, 不用频繁的创建连接,减少系统资源,连接池大小事宜,减少内存开销。 连接池大致内容: 1.有两个池:一个活动池(正在使用的连接),一个空闲池(空闲的连接),空闲池初始化池确定初始大小(initPoolSize)。活动池确定最大活跃连接数(maxPoolSize)。 2.空闲池封装了LinkedList集合(适合增删)类型的连接,当客户需要连接时判断空闲池中是否有连接,有连接则拿到dataSource.getConnection();

2020-11-22 20:37:48 143 1

原创 jdbc正确的使用方式

这里写目录标题环境一.不用工具类操作数据库二.用工具类操作数据库三.用工具类的登录demo 环境 1.导入jar包 2.写配置文件并标记成类路径 jdbc.properties jdbc.properties: jdbc.username=root jdbc.password=root jdbc.url=jdbc:mysql://localhost:3306/day20 jdbc.table="user" 一.不用工具类操作数据库 demo1.java public class demo1{ //查

2020-11-22 19:43:32 158

原创 关于javase你必须得会的知识

/* 面向对象阶段: 类的创建: public class 类名{ 构造代码块 静态代码块 成员变量 构造方法 成员方法 } 对象的创建和使用: 对象的创建: 通过new调用构造方

2020-11-16 10:25:02 48

设计模式3-行为型模式.doc

适合自己看

2021-04-30

设计模式2-结构型模式.doc

适合给自己看

2021-04-30

设计模式1-创建型模式.doc

适合给自己看

2021-04-30

空空如也

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

TA关注的人

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