- 博客(184)
- 资源 (28)
- 问答 (1)
- 收藏
- 关注
原创 java通过接口转发文件(上传下载)
log.info("下载类型接口调用开始: uri = {}", uri);java接口转发上传的文件。java接口转发下载的文件。
2023-09-28 18:39:04
786
原创 【无标题】
简单介绍下项目情况,包括业务量,项目整体结构介绍下对spring cloud的理解redis使用场景,分布式锁使用场景zookeeper项目使用场景,选举机制工作过程中参与过哪些项目优化工作socket使用场景hashmap底层实现原理线程安全的hashmap有吗,底层实现原理线程池使用场景,使用注意事项表索引设计原则及注意事项介绍下java内存模型性能调优做过哪些1.spring cloud的理解SpringCloud不是一种技术!是一种生态Spring Cloud.
2022-04-25 22:49:15
2220
原创 面试-TopK
1.全局排序 O(n*lg(n))--快排2.局部排序,只排序topK个数,冒泡排序前k个,O(n*k)3.堆排序,O(n*lg(k))4.分治法,每个分支“都要”递归,例如:快速排序,O(n*lg(n))5.减治法,“只要”递归一个分支,例如:二分查找O(lg(n)),随机选择O(n)6.TopK的另一个解法:随机选择+partition7.比特位图法(bitmap)计数O(n)8.桶排 n个桶O(n)...
2021-04-10 11:30:53
214
原创 面试-综合
东财https://my.oschina.net/u/4357988/blog/3348034hashmap为什么线程不安全?jdk1.7自动扩容时候,transfer的实现是头插法,反转链表,可能形成环形链表;jdk1.8自动扩容使用的尾插法,扩容时候一个entry的下标要不不变,要不变成原下标+原数组大小,虽然不会形成死循环,但是还是可能数据丢失的;一致性hashhttps://zhuanlan.zhihu.com/p/24440059虚拟节点解决hash环偏...
2021-03-28 12:36:36
134
原创 面试-MQ
部分摘自https://github.com/yuanguangxin/LeetCodeKafka中消息是以topic进行分类的,topic在物理层面又能以partition为分组,一个topic可以分成若干个partition。partition还可以细分为segment,一个partition物理上由多个segment组成,segment文件由两部分组成,分别为“.index”文件和“.log”文件,分别表示为segment索引文件和数据文件。这两个文件的命令规则为:partition全局的第一
2021-03-12 21:15:29
142
原创 面试-限流算法
部分转自https://blog.csdn.net/linhui258/article/details/81155622https://blog.csdn.net/weixin_41846320/article/details/959413611.计数器计数器算法是使用计数器在周期内累加访问次数,当达到设定的限流值时,触发限流策略。下一个周期开始时,进行清零,重新计数。此算法在单机还是分布式环境下实现都非常简单,使用redis的incr原子自增性和线程安全即可轻松实现。...
2021-03-10 22:50:18
178
原创 面试-CAP+BASE+ACID
CAP转自http://www.ruanyifeng.com/blog/2018/07/cap.html分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。本文介绍该定理。它其实很好懂,而且是显而易见的。下面的内容主要参考了 Michael Whittaker 的文章。一、分布式系统的三个指标1998年,加州大学的计算机科学家 Er
2021-03-01 23:05:15
130
原创 分布式选举---基于redis
一个集群,只有一个是master,其他都是slave;当master宕机,从slave里面选举一个新的master来;可以基于redis实现;伪代码String redisKey="redis-master-heart-beat";boolean master=false;定时器方法:5秒执行一次(类似心跳)String redisValue=jedi...
2020-03-14 21:42:44
894
原创 面试-秒杀下单
部分摘自https://github.com/yuanguangxin/LeetCode秒杀并发情况下库存为负数问题for update显示加锁 把udpate语句写在前边,先把数量-1,之后select出库存如果>-1就commit,否则rollback。update products set quantity = quantity-1 WHERE id=3;sele...
2020-03-11 23:11:44
319
原创 面试-三高
部分摘自https://github.com/yuanguangxin/LeetCode高并发系统的设计与实现在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存:缓存比较好理解,在大型高并发系统中,如果没有缓存数据库将分分钟被爆,系统也会瞬间瘫痪。使用缓存不单单能够提升系统访问速度、提高并发访问量,也是保护数据库、保护系统的有效方式。大型网站一般主要是“读”,缓存的...
2020-02-29 22:16:28
125
原创 面试-计算机基础
部分摘自https://github.com/yuanguangxin/LeetCode操作系统进程和线程进程是操作系统资源分配的最小单位,线程是CPU任务调度的最小单位。一个进程可以包含多个线程,所以进程和线程都是一个时间段的描述,是CPU工作时间段的描述,不过是颗粒大小不同。 不同进程间数据很难共享,同一进程下不同线程间数据很易共享。 每个进程都有独立的代码和数据空间,进...
2020-02-29 22:14:35
118
原创 面试-dubbo
部分摘自https://github.com/yuanguangxin/LeetCodeDubbo的容错机制失败自动切换,当出现失败,重试其它服务器。通常用于读操作,但重试会带来更长延迟。可通过 retries="2" 来设置重试次数 快速失败,只发起一次调用,失败立即报错。通常用于非幂等性的写操作,比如新增记录。 失败安全,出现异常时,直接忽略。通常用于写入审计日志等操作。 失败自...
2020-02-29 22:11:40
123
原创 面试-消息队列-Kafka
部分摘自https://github.com/yuanguangxin/LeetCode为什么需要消息队列解耦,异步处理,削峰/限流Kafka的文件存储机制Kafka中消息是以topic进行分类的,生产者通过topic向Kafka broker发送消息,消费者通过topic读取数据。然而topic在物理层面又能以partition为分组,一个topic可以分成若干个partitio...
2020-02-29 22:10:42
135
原创 面试-Spring
部分摘自https://github.com/yuanguangxin/LeetCode什么是三级缓存第一级缓存:单例缓存池singletonObjects。 第二级缓存:早期提前暴露的对象缓存earlySingletonObjects。(属性还没有值对象也没有被初始化) 第三级缓存:singletonFactories单例对象工厂缓存。创建Bean的整个过程getBean...
2020-02-29 22:09:47
127
原创 fel计算引擎(表达式计算数学公式)--实例sigma求和∑
fel计算引擎--实例sigma求和∑从而避免每一个公式都手动写方法计算,只要输入数学公式就可计算结果;示例计算 1+2*(SUM('x_*3+1','1','5')+1)fel用的0.9版本,支持大数高精度;约定变量以下划线结尾public class SumFunction extends CommonFunction { private ...
2019-04-11 14:52:17
4303
1
原创 ABTest-SDK
源码:https://github.com/sidihuo/abtest-sdkABTest-SDK适用于AB分流实验、灰度发布系统等互联网场景;此SDK支持二次开发,开发者可自行实现查询实验分流配置接口。特性:1)支持白名单;2)轻量级,仅依赖guava;3)接口耗时微秒级,使用guava的本地缓存;4)客户分流可控(修改分流比时候客户版本可控,单个实验的分流比例粒度...
2018-08-27 21:50:06
1706
转载 mysql下载与安装过程
https://blog.csdn.net/weixin_40396510/article/details/79277731 修改密码 先登录进入mysql环境:执行下面三个命令。(记得带上分号)1、use mysql;2、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新...
2018-08-24 22:28:03
256
原创 优雅的关闭线程池
@PreDestroy public void destory() { try { scheduledExecutorService.shutdown(); if (!scheduledExecutorService.aw...
2018-08-10 09:18:32
977
1
原创 把字符串随机打散并平均分成N份
import java.security.MessageDigest;import java.util.Map;import java.util.Map.Entry;import java.util.Set;import java.util.TreeMap;import java.util.UUID;import org.springframework.util.StringUti...
2018-07-30 15:27:26
1915
转载 硬编码获取dubbo获取服务
1.https://www.cnblogs.com/sloveling/p/dubbo_1.htmlpublic static <T> T getDubboService(String interfStr,String zookeeperUrl,String appName) throws ClassNotFoundException{ ApplicationConfi...
2018-07-09 22:51:24
3221
转载 Redis分布式锁实例RedisLock
转自:https://www.cnblogs.com/0201zcr/p/5942748.html;一、使用分布式锁要满足的几个条件:系统是一个分布式系统(关键是分布式,单机的可以使用ReentrantLock或者synchronized代码块来实现)共享资源(各个系统访问同一个资源,资源的载体可能是传统关系型数据库或者NoSQL)同步访问(即有很多个进程同事访问同一个共享
2018-01-08 20:29:52
20561
1
原创 SimpleDateFormat线程安全问题
1.public class SimpleDateFormatTest { private static final String SIMPLE_DATE_FORMAT_PATTERN = "yyyy-MM-dd HH:mm:ss.sss"; // =================================线程不安全===============================
2017-12-27 15:56:49
338
原创 java方法中参数要不要加final
1./***************************************************************** ****************************************************************/package com.pingan.credit.channel.abtest;/** * @Created 201
2017-12-14 20:15:41
1773
1
原创 Linux命令
pwd 查看当前目录路径;cd 回到主目录;cd - 回到上次所在目录cd ~ 回到当前身份所在的home目录cd . 进入当前文件夹(重新进入当前目录)cd .. 返回上级目录cd ../.. 返回上两级目录ls 列出当前目录中的文件及文件夹ls -l 列出当前目录中的文件及文件夹(详细信息)ls -
2017-11-09 17:09:51
352
原创 HashMap的长度为什么要是2的n次方
HashMap为了存取高效,要尽量较少碰撞,就是要尽量把数据分配均匀,每个链表长度大致相同,这个实现就在把数据存到哪个链表中的算法;这个算法实际就是取模,hash%length,计算机中直接求余效率不如位移运算,源码中做了优化hash&(length-1),hash%length==hash&(length-1)的前提是length是2的n次方;为什么这样能均匀分布减少碰撞呢?
2017-11-09 15:03:48
21408
10
转载 JMS消息中间件何为推拉push/pull
http://www.cnblogs.com/charlesblc/p/6045238.html
2017-11-07 17:57:04
1308
转载 Spring注解@Autowired @Repository @Qualifier
转载地址。 博客地址:http://www.cnblogs.com/caoyc/p/5626365.html @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。在使用@Autowired之前,我们对一个bean配置起属性时,是这用用的property name="属
2017-11-07 14:17:53
2519
2
转载 阻塞IO、非阻塞IO、同步IO、异步IO && Reactor模式
http://www.ivaneye.com/2016/07/23/iomodel.html对于IO来说,我们听得比较多的是:BIO:阻塞IONIO:非阻塞IO同步IO异步IO以及其组合:同步阻塞IO同步非阻塞IO异步阻塞IO异步非阻塞IO那么什么是阻塞IO、非阻塞IO、同步IO、异步IO呢?一个IO操作其实分成了两个步骤:发起IO请求(阻塞)
2017-09-18 15:16:32
1542
转载 Reactor && Netty
http://ifeve.com/netty-reactor-4/1、Reactor的由来Reactor是一种广泛应用在服务器端开发的设计模式。Reactor中文大多译为“反应堆”,从Reactor的兄弟“Proactor”(多译为前摄器)就能看得出来,这两个词的中文翻译其实都不是太好,不够形象。实际上,Reactor模式又有别名“Dispatcher”或者“Not
2017-09-18 14:59:45
525
转载 NIO之二(Buffer&&Selector)
当我们需要与 NIO Channel 进行交互时, 我们就需要使用到 NIO Buffer, 即数据从 Buffer读取到 Channel 中, 并且从 Channel 中写入到 Buffer 中.实际上, 一个 Buffer 其实就是一块内存区域, 我们可以在这个内存区域中进行数据的读写. NIO Buffer 其实是这样的内存块的一个封装, 并提供了一些操作方法让我们能够方便地进行数据的读
2017-07-27 11:31:43
422
转载 NIO之一
Java NIO 是由 Java 1.4 引进的异步 IO.Java NIO 由以下几个核心部分组成:ChannelBufferSelectorNIO 和 IO 的对比IO 和 NIO 的区别主要体现在三个方面:IO 基于流(Stream oriented), 而 NIO 基于 Buffer (Buffer oriented)
2017-07-27 11:21:58
291
原创 netty实现简单聊天室
1.package com.xiaogang.netty.chat.server;import java.util.Date;import org.jboss.netty.channel.Channel;import org.jboss.netty.channel.ChannelHandlerContext;import org.jboss.netty.channel.Channe
2017-07-26 19:02:11
461
原创 自己实现简单的RPC
1.serverpackage com.xiaogang.server;public interface IService { public String service(String str); } package com.xiaogang.server;public class ServiceImpl implements IService{
2017-07-26 11:53:39
570
1
原创 MongoDB安装配置
Windows下载:链接:http://pan.baidu.com/s/1kUWAOCn 密码:1i30这里版本是mongodb-win32-x86_64-2008plus-ssl-3.4.1-signed,也可在官网下载;我这里直接安装到了D:\MongoDB根目录中新建data文件夹,logs文件夹,mongo.conf配置文件;配置文件内容:#数据库路径
2017-07-25 11:51:53
279
原创 ssm(Mysql)+Redis的Demo
web.xml<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xm
2017-07-23 10:08:04
1988
1
原创 servlet_JSP
web.xml ServletDemo servletNameHello servlet.HelloServlet servletNameHello /helloXG servlet标签定义了servlet名字和具体类;servlet-mapping标签定义了url映射的servlet;
2017-07-22 23:01:55
319
原创 NIO浅显易懂的入门
转自:https://www.ibm.com/developerworks/cn/education/java/j-nio/index.html#ibm-pcon在开始之前关于本教程新的输入/输出 (NIO) 库是在 JDK 1.4 中引入的。NIO 弥补了原来的 I/O 的不足,它在标准 Java 代码中提供了高速的、面向块的 I/O。通过定义包含
2017-07-20 18:44:43
276
原创 Redis_Spring_HelloWorld
源代码github地址:https://github.com/sidihuo/redis_spring_helloworld/tree/master org.springframework.data spring-data-redis 1.0.2.RELEASE spring<beans xmlns="http://www.springframewor
2017-07-19 16:30:52
278
原创 Eclipse插件开发(RCP)中IResource重命名方法
最近开发时不想用Eclipse中CNF配置的refector中的rename的action,主要是因为那个重命名框不好自定义;于是自己动手写了一个重命名的对话框,关键是如何重命名一个IProject工程呢?总不能导出来换个名字再导进去把,下面是解决办法:首先需要依赖org.eclipse.ltk.core.refectoring插件,RenameResourceProcesso
2017-07-12 10:04:30
1215
1
GEF_Demo_Code20170307
2017-03-07
RCP自定义透视图切换按钮的右键菜单
2016-12-12
java操作Excel表(源代码工程+博客地址)
2015-10-14
jogl实例工程源码(时钟、飞机雷达、彩色点阵、点斜计算、碰撞正方形)
2015-06-17
CommonNavigatorFramework(CNF)实例源码
2014-10-18
opengl怎么画这样的曲线
2015-07-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人