- 博客(31)
- 资源 (5)
- 问答 (6)
- 收藏
- 关注
原创 三个线程顺序打印ABC多次
三个线程顺序打印ABC五次:package com.jintao.example.lock.orderprintstr;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;/** * @author jinjueYang * @descriptio...
2019-11-18 09:51:47 337
原创 括号匹配算法java实现
括号匹配算法:package com.jintao.example.algorithm;import java.util.HashMap;import java.util.Map;import java.util.Stack;/** * @author jinjueYang * @description 括号匹配 * @date 2019/11/2 9:02 */pu...
2019-11-02 09:27:11 413
原创 OSI七层模型(Open System Interconnection)
应用层网络服务与最终用户的一个接口。协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP表示层数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)格式有,JPEG、ASCll、DECOIC、加密格式等会话层建立、管理、终止会话。(在五层模型里面已经合并到了应用层)对应主机进程,指本地主机与远...
2019-10-28 13:57:28 435
原创 超卖问题解决方案
超卖问题解决方案:1,首先,解决一下当网络不好时,用户多次点击提交造成的多订单问题,可以在秒杀表中对用户id和商品id和本次活动的code进行一个唯一索引约束,可以避免多插入。(不是很靠谱,根据阿里规约上面那个唯一约束肯定要加的,根据墨菲定律。。。)还有一种解决方案是,通过布隆过滤器来实现重复提交限制2,使用mysql的事务隔离级别,select stock from table wh...
2019-10-26 10:07:37 3060
原创 redis使用一些注意事项(redis字符串类型支持多大内存,setbit操作的一些注意事项)
redis字符串类型支持多大内存:一个字符串类型键允许存储的数据的最大容量是512MBRedis的作者考虑过让字符串类型键支持超过512MB大小的数据,未来的版本也可能会放宽这一限制,但无论如何,考虑到Redis的数据是是使用内存存储的,512MB的限制已经非常宽松了redis命令SETBIT的一些注意事项:对二进制位进行操作,命令例子 : setbit key offset ...
2019-10-12 14:07:21 1888
原创 一致性hash环算法java实现
用途:用于分布式系统中多个服务器集群,当增加减少节点时,使用该hash环算法,可减少数据因节点变动,出现大量命中失败问题,redis集群就是通过hash环思想实现的。解释:一致性哈希环,分散化实体项的节点位置选择,减少因为节点的变更导致的其上所属实体项的迁移。hash工具类:package com.jintao.example.consistenthash;/** * ...
2019-10-10 13:40:18 809
原创 新手选择Spring Cloud作为微服务框架的理由?
当我们作为一个新手,准备实施微服务架构时,为了避免踩前辈踩过的坑,我们不得不在这些核心问题上做出选择,而选择又是如此之多,这必然会导致在做技术选型的初期,需要花费巨大的调研、分析与实验精力。Spring Cloud 的出现,可以说是对微服务架构的巨大支持和强有力的技术后盾。它不像我们之前所列举的框架那样,只是解决微服务中的某一个问题 ,而是一个解决微服务架构实施的综合性解决框架,它整合了诸多被...
2019-09-16 09:23:37 158
原创 分治思想递归实现求和
采用分治思想递归实现求和:package com.jintao.example.algorithm;import java.util.Arrays;public class RecursiveSumTest { public static void main(String[] args) {// int array[] = new int[]{1, 3, 5...
2019-09-12 17:14:18 225
原创 两个有序(从小到大且不重复)的超大型数组,求其交集算法实现
题目说明:两个超大型整形数组,两个数组中的数据顺序都是是从小到大排列且不重复,使用算法来实现求两个数组的交集。代码实现:package com.jintao.example.algorithm;import org.junit.Test;import java.util.ArrayList;import java.util.List;/** * Created wit...
2019-09-02 09:42:20 446
原创 基于zookeeper实现分布式锁
Maven依赖: <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>2.4.2&...
2019-08-31 08:58:53 76
原创 分布式系统-三态
在分布式系统的环境中,网络可能会出现各种各样的问题,因此分布式系统的每一次请求与响应,存在特有的三态概念,即成功,失败与超时。由于网络是不可靠的,当网络在出现异常的时候,就会出现超时现象,通常有以下两种情况:由于网络原因该请求(消息)并没有被成功的发送到接收方,而是在发送过程就发生了消息丢失现象。 该请求(消息)成功的被接收方接收到后,并进行了处理,但是在将响应反馈给发送方的过程中,发生...
2019-08-27 09:42:00 481
原创 分布式系统-故障总是会发生
组成分布式系统的所有计算机,都有可能发生任何形式的故障。一个被大量工程实践所检验过的黄金定理是:任何在设计阶段考虑到的异常情况,一定会在系统实际运行中发生,并且,在系统实际运行过程中还会遇到很多在设计时未能考虑到的异常故障。所以,除非需求指标允许,在系统设计时不能放过任何异常情况。...
2019-08-27 09:25:48 594
原创 分布式一致性问题
问题描述:假设客户端C1将系统中的一个值K由V1更新为V2,但客户端C2无法立即读取到K的最新值,需要一段时间之后才能读取到。这个例子就是常见的数据库之间复制的延时问题。分布式系统对于数据复制的需求一般由于以下两个原因:为了增加系统的可用性,防止单点故障引起系统不可用。 提高系统整体性能,通过负载均衡技术,能够让分布在不同地方的数据副本都能够为用户提供服务。数据复制在可用性...
2019-08-26 14:23:21 116
原创 记录一次域名未备案导致的app接口全部瘫痪紧急解决方案
背景公司有一个老项目以前是外包出去的,手机app使用的接口地址是一个未备案的域名,前期一切运行正常,直到有一天使用该域名访问服务器的80和443端口都被查封了,导致服务不可用,app全部瘫痪。解决方案由于香港服务器不用备案,于是迅速在阿里云上购买一台香港服务器,然后在其上安装nginx然后将请求转发到国内的那台应用服务器上,最后将该未备案域名的指向ip地址修改为刚购买的香港服务器地址,...
2019-07-23 12:46:22 808
转载 由 B-/B+树看 MySQL索引结构
转载:https://segmentfault.com/a/1190000004690721B-树B-树,这里的 B 表示 balance( 平衡的意思),B-树是一种多路自平衡的搜索树它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点。下图是 B-树的简化图.B-树有如下特点: 所有键值分布在整颗树中; 任何一个关键字出现且只出现在一个结点中...
2019-07-23 08:51:19 88
转载 MySQL三大范式和反范式
1.第一范式确保数据表中每列(字段)的原子性。如果数据表中每个字段都是不可再分的最小数据单元,则满足第一范式。例如:user用户表,包含字段id,username,password2. 第二范式在第一范式的基础上更进一步,目标是确保表中的每列都和主键相关。如果一个关系满足第一范式,并且除了主键之外的其他列,都依赖于该主键,则满足第二范式。例如:一个用户只有一种角色,而一个角色对应...
2019-07-02 14:06:11 381
原创 JVM默认分配堆内存是多少?
对于Java8来说,一般堆内存的初始容量为物理内存大小的1/64, 最大内存不超过物理内存的1/4或1G.initial heap sizeLarger of 1/64th of the machine's physical memory on the machine or some reasonable minimum. Before Java SE 5.0, the default ...
2019-07-02 13:02:52 15494
原创 Docker镜像配置文件,并处理时区问题
# Docker image for springboot file run# VERSION 0.0.1# Author: jinjueYang# 基础镜像使用javaFROM frolvlad/alpine-oraclejdk8:slim# 作者MAINTAINER jinjueYang <[email protected]>#设置时区为上海ENV TZ...
2019-06-25 10:10:25 1251 1
原创 linux脚本加定时任务自动整理日志
这个操作主要是对一些很老的程序没有做每天日志存档并自动删除历史log功能,运维人员采用的一个对整个控制台log进行每天存储。具体需求现有一个应用程序每天产生大量log需要经常手动清理磁盘,但是又需要保存每天的日志方便查找问题 通过linux脚本加定时任务的方式来对每天产生的info.log进行压缩存档,并删除历史info.log,然后重启程序,这样又会重新产生info.log,然后每天循...
2019-06-21 09:20:58 2783
转载 单例模式
class Singleton{ private Singleton(){} private static class LazyHolder{ public static Singleton singleton = new Singleton(); } public static Singleton getInstance(){ ...
2019-05-17 13:06:16 69
转载 elasticsearch遍历出全部数据
@Testpublic void testScroll() throws IOException { TransportClient esClient = new ESClient().getInstance(); SearchResponse searchResponse = esClient.prepareSearch(indexName) .setT
2017-08-17 18:37:18 16876 6
原创 python,Cocos2d-x,关于配置python后出现的问题,导致命令行失效,
在玩cocos的时候,需要安装python,需要配置path,和pathext,注意这个pathext目录,需要配置,为.Py;.PYM;,但是在上面那个用户环境变量中没有pathext,因此我就自己手动建了一个,那么问题来了,一些常用的命令行都失效了,比如ipconfig,ping,netstat -ant等,百思不得解,后来发现系统环境变量中有这个,打开后发现好多后缀,.COM;.EXE;.B
2017-02-28 20:37:19 554
原创 关于List的remove陷阱
package com.jintao.list;import java.util.List;public class ListRemove{ /** * @author yangjinjue * @param args */ public static void main(String[] args) { List listTest1 = new ArrayList
2016-12-04 17:09:27 404
原创 几种快速将数组转换为List的方法,使用Arrays,Collections这两个工具类。
package com.jintao.list;import java.util.ArrayList;import java.util.Arrays;import java.util.Collection;import java.util.Collections;import java.util.List;public class ListRemove{ /** * @a
2016-12-04 16:34:47 4539 2
原创 大整数相乘算法
当数据的大小超过java基本数据类型所表示的时候,那么我们就需要使用一些手段来解决问题了,当然你也可以使用java的自带的类BigDecimal等,不过这里使用的是一个原始的算法package com.jintao.algorithm;import java.util.Arrays;import java.util.Scanner;public class BigIntege
2016-10-25 19:55:36 583
原创 静态工厂类java
汽车工厂类:只要给出汽车名字,就可以得到一个完整的汽车对象。汽车javabean:package com.jintao.domain;import java.io.Serializable;public class Car implements Serializable{ private String name; private int price; @Over
2016-09-29 16:48:08 951
原创 快速排序算法java实现
package com.jintao.quicksort;public class QuickSort{ public static void main(String[] args) { int array[] = new int []{5,6,3,8}; quickSort(array, 0, array.length-1); for(int i:array) ...
2016-09-29 16:34:58 363
原创 关于java命令行在dos窗口下执行class文件时提示“找不到或无法加载类”问题
package com.jintao.javaarray;public class JavaArray{ public static void main(String [] args) { int array[] = new int[10]; int array1[]; for(in
2016-05-21 18:22:16 8540 2
周星驰所有电影App android
2016-06-02
ReentrantLock等待可中断?
2020-04-16
redis集群是否能保证强一致性?
2019-09-28
把response.getOutputStream()放到其它方法中不报错。
2017-01-03
dom对象,与jquery对象
2016-09-05
子类与父类this,与super
2016-04-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人