![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java Learning
念殊15
这个作者很懒,什么都没留下…
展开
-
dubbo2021-11-01
1 RPC1.通过socket远程调用服务2 dubbo角色Provider 服务的提供方(在注册中心注册服务)Consumer消费者(在服务中心订阅服务)Registry服务注册与发现的注册中心Monitor统计服务的调用次数和调用时间的监控中心,在内存中累计调用次数Container服务运行容器(服务提供方都放在这里,负责启动加载)注意:根据负载均衡算法,平衡服务器的调用3 zookeeper注册中心1.注册中心,管理服务2.zookeeper是树形的目录结构,支持变更推送3.z原创 2021-11-01 22:09:29 · 895 阅读 · 0 评论 -
将一个List均分为n份2021-10-23
import com.alibaba.fastjson.JSON;import org.springframework.util.CollectionUtils;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class AverageAssign { public static <T> List<List<T>> averag原创 2021-10-23 16:32:02 · 419 阅读 · 0 评论 -
基于注解的AOP开发小例子
1.项目流程1)创建Maven项目,导入AOP相关坐标2)创建目标接口和目标类,定义切入点3)创建通知类4)将目标类和通知类的创建权交给spring5)在通知类中使用注解织入关系,升级为切面类6)开启注解扫描和自动代理7)创建测试类1.创建Maven项目,导入AOP相关坐标<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xm原创 2020-09-22 16:03:31 · 142 阅读 · 0 评论 -
Spring IOC实战
1.项目介绍基于Spring的xml配置实现账户的CRUD案例1.1步骤分析1)准备数据库环境2)创建java项目,导入坐标3)编写Account实体类4)编写AccountDao接口和实现类5)编写AccountService接口和实现类6)编写spring核心配置文件7)编写测试代码2.项目实现2.1 准备数据库环境CREATE DATABASE spring_db;USE spring_db;CREATE TABLE account( #名字,类型,限制 id IN原创 2020-09-14 14:28:09 · 163 阅读 · 0 评论 -
XML文档约束和基本用法
1.基本用法参考链接:添加链接描述2.XML的文档约束2.1 DTD约束- 定义约束引入约束,使用约束中间直接写内容,不需要2.2 Schema约束(模式约束)在根元素前面加不加前缀都可以加 xsd:schema不加 schema该约束文档本质上就是一个xml文件使用这个约束文件中定义的元素或者属性,必须使用前缀xsd创建新的命名空间命名空间是一组具有结构的名称的集合,是XML正式标准的补充部分以下详细信息:可参考:添加链接描述定义约束<?原创 2020-09-12 19:27:29 · 324 阅读 · 0 评论 -
一个int型无符号整数,如何将整数的二进制位的奇偶数互换
假设有一个二进制位为 (10101110)b,进行奇偶数位交换后,就变成了(01011101)b注意:8位中从最低位开始数,为第0位,是偶数位, 次低位为第1位,是奇数位。也就是从右往左数使用方法是:((a >> 1)& Ox5555555)) | ((a<<1) & Oxaaaaaaaa)原理:...原创 2020-08-31 09:35:28 · 411 阅读 · 0 评论 -
如何打破双亲委派机制?
1.背景知识加载String类的时候,是由类加载器一层层往上传递到BootstrapClassLoader加载的,所以下层的类是没有机会加载的。即使自己写一个java.lang.String类,也是加载系统的String类。所以我们可以自己自定义类加载器加载自己创建的类,为了避免双亲委派机制,所以必须将我们的类放在一个特定的目录下(和系统自带的三个加载器加载类的目录不同)...原创 2020-08-30 12:35:52 · 1099 阅读 · 0 评论 -
Spring快速入门的小例子
(1)在pom.xml中引入依赖 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.5.RELEASE</version>原创 2020-08-27 16:30:53 · 135 阅读 · 0 评论 -
AtomicLong和LongAdder的比较
1. AtomicLong原理它底层使用了CAS的方式,不断比较线程工作内存中的值和主内存中的值是否相等,如果相等的话执行对应原子操作(使用了do…while)2. LongAdder原理原理:将AtomicLong中的value值分成一个Cell数组,通过hash算法,对对应位置的Cell进行相应操作,最后将Cell数组的值加起来,再加基础值base获得最终值。优点是:LongAdder在AtomicLong的基础上将单点的更新压力分散到各个节点,在低并发的时候通过对base的直接更新可以很原创 2020-06-01 15:31:59 · 815 阅读 · 0 评论