首页
学习
活动
专区
工具
TVP
发布

卯金刀GG

专栏作者
281
文章
521149
阅读量
29
订阅数
【番外】微信小程序获取开发之获取openId和手机号码
微信官网:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html
用户5640963
2022-06-08
1.5K0
Paxos协议 - 分布式系统(四)
Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的"La",此人在微软研究院)1990年提出的一种基于消息传递的一致性算法。
用户5640963
2021-12-31
2530
Quorum机制-WARO协议-分布式系统(三)
WARO协议(Write All Read one ) 强一致性。是一种简单的副本控制协议,当 Client 请求向某副本写数据时(更新数据),只有当所有的副本都更新成功之后,这次写操作才算成功,否则视为失败。这样的话,只需要读任何一个副本上的数据即可。但是WARO带来的影响是写服务的可用性较低,因为只要有一个副本更新失败,此次写操作就视为失败了。
用户5640963
2021-12-20
9240
【JAVA 的异步编程】CompletableFuture的介绍
缘起: 一、Future java5引入了Future模式。Future接口是Java多线程Future模式的实现,在java.util.concurrent包中,可以来进行异步计算。 Future模式是多线程设计常用的一种设计模式。Future模式可以理解成:我有一个任务,提交给了Future,Future替我完成这个任务。期间我自己可以去做任何想做的事情。一段时间之后,我就便可以从Future那儿取出结果。 Future的接口的五个方法。
用户5640963
2021-06-17
7790
【JAVA 进阶之锁机制】synchronized 的锁升级-持续更新....
1、synchronized 的基本认识 场景:Synchronized是一个同步关键字,在某些多线程场景下,如果不进行同步会导致数据不安全,而Synchronized关键字就是用于代码同步。什么情况下会数据不安全呢,要满足两个条件:一是数据共享(临界资源),二是多线程同时访问并改变该数据。 在多线程并发编程中 synchronized 称呼为重量级锁。但是,随着 Java SE 1.6 对 synchronized 进行了各种优化之后,有些情况下它就并不那么重,Java SE 1.6 中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁。 1.1 synchronized 有三种方式来加锁 1.1.1. 修饰实例方法,作用于当前实例加锁,进入同步代码前 要获得当前实例的锁 1.1.2. 静态方法,作用于当前类对象加锁,进入同步代码前要 获得当前类对象的锁 1.1.3. 修饰代码块,指定加锁对象,对给定对象加锁,进入同 步代码库前要获得给定对象的锁。 1.2 Mark word Mark word 记录了对象和锁有关的信息,当某个对象被 synchronized 关键字当成同步锁时,那么围绕这个锁的一 系列操作都和 Mark word 有关系。Mark Word 在 32 位虚 拟机的长度是 32bit、在 64 位虚拟机的长度是 64bit。 Mark Word 里面存储的数据会随着锁标志位的变化而变化, Mark Word 可能变化为存储以下 5 中情况
用户5640963
2021-05-27
7040
【Netty大动脉之ChannelPipeline】
1、Channel NioServerSocketChannel.class 每一个channel 对应唯一一个Channelpipeline
用户5640963
2020-03-19
5580
【Java NIO空轮询bug和Netty中的解决方法】
1、问题提出 https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6670302 简单来说:epoll机制是Linux下一种高效的
用户5640963
2020-03-19
1.4K0
【设计模式之责任链模式】
1、定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系, 将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。
用户5640963
2020-03-19
4120
【设计模式之策略模式】
1、策略模式(Strategy) 将定义的算法家族、分别封装起来,让他们之间可以互相替换,从而让算法的变化不会影响到使用算法的用户。 策略模式属于 行为性模式 2、实现方式
用户5640963
2020-03-19
2990
【SpringIOC容器初始化(一)】
【SpringIOC容器初始化(一)】 1、 IOC容器是指的spring bean 工厂里面MAP存储结构,包含beanFactory、applicationContext工厂; 2、 beanFactory采取的延迟加载,第一次getBean时才会初始化Bean; applicationContext是加载完applicationContext.xml 就创建了具体的bean实例(只对BeanDefition中描述是单例的bean,才进行恶汉模式创建) 3、applicationContext接口常用实现类 classpathXmlApplicationContext : 它是从类的跟路劲下加载配置文件,推荐使用这种 FileSystemXmlApplicationContext: 它是从磁盘上加载配置文件,配置文件可以在磁盘的任意位置 AnnotationConfigApplicationContext : 当我们使用注解配置容器对象时,需要使用此类来创建 spring 容器。它用来读取注解。 4、步骤 4.1 new ClassPathXmlApplicationContext(),初始化ClassPathXmlApplicationContext public ClassPathXmlApplicationContext(String[] configLocations, boolean refresh, ApplicationContext parent) throws BeansException { super(parent); setConfigLocations(configLocations); if (refresh) { refresh(); } } 4.2 调用AbstractRefreshableConfigApplicationContext的setConfigLocations(configLocations),设置xml文件路径 public void setConfigLocations(String... locations) { if (locations != null) { Assert.noNullElements(locations, "Config locations must not be null"); this.configLocations = new String[locations.length]; for (int i = 0; i < locations.length; i++) { this.configLocations[i] = resolvePath(locations[i]).trim(); } } else { this.configLocations = null; } } 4.3 AbstractXmlApplicationContext方法loadBeanDefinitions public abstract class AbstractXmlApplicationContext extends AbstractRefreshableConfigApplicationContext { private boolean validating = true; public AbstractXmlApplicationContext() { } public AbstractXmlApplicationContext(ApplicationContext parent) { super(parent); } public void setValidating(boolean validating) { this.validating = validating; } protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws BeansException, IOException { // 这里最终还是通过XmlBeanDefinitionRea
用户5640963
2020-03-19
4040
【leetcode算法-搜索插入位置】
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
用户5640963
2020-02-25
3790
【JAVA基础之递归调用的案例】实用代码
递归就是一个程序或函数在其中定义或说明有之间或者间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大的减少了程序的代码量,递归的能力在于用有限的语句来定义对象的无限集合,一般来说,递归需要边界条件,递归前进段和递归返回段,当边界条件不满足时,递归前进,当边界条件满足时,递归返回。
用户5640963
2019-10-23
4290
【JAVA进阶】HashMAP中加载因子0.75的问题
HashMap has two important properties: size and load factor. I went through the Java documentation and it says 0.75f is the initial load factor. But I can't find the actual use of it.
用户5640963
2019-07-31
9430
Jquery Ajax请求文件下载操作失败的原因分析及解决办法
jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。
用户5640963
2019-07-28
3.3K0
java使用POI处理EXCEL的核心类(二)
接上一篇写了使用poi导出excel,今天把读取excel的方法补上,核心类如下:
用户5640963
2019-07-28
8350
SSE+easyui 分页
3、mybatis的maper和xml文件对应,配置位置spring.xml 此为我备忘的记录
用户5640963
2019-07-28
6950
shiro的Cache机制
Shiro开发团队明白在许多应用程序中性能是至关重要的。Caching 是Shiro 中的一个重要功能,以确保安全操作保持尽可能的快。
用户5640963
2019-07-28
9640
shiro基础配置
spring-shiro.xml文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.
用户5640963
2019-07-28
4660
根据excel定义的表机构,导入powerdesigner
工具>execute commands>edit/run script 执行以下代码
用户5640963
2019-07-28
1.1K0
利用mybatis-generator自动生成代码
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <configurationFile>src/main/generator/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <executions> <execution> <id>Generate MyBatis Artifacts</id> <goals> <goal>generate</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> </dependency> </dependencies> </plugin>
用户5640963
2019-07-28
3550
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档