漫画:什么是SnowFlake算法?

————— 第二天 ————— 方法一:UUIDUUID是通用唯一识别码 (Universally Unique Identifier),在其他语言中也叫GUID,可以生成一个长度32位的全局唯一识别码。String uuid = UUID.randomUUID().toString()结果示例:046b6c7f-0b8a-43b9-b35d-6489e6daee91为什么无

阅读全文

Java基础复习-序列化与transient关键字

1、什么是序列化序列化就是将对象的状态信息转换为可以存储或传输的形式的过程。Java就是将堆中的内存对象通过某种方式转变为可传输(xml、json、二进制数据)、可存储的二进制串的过程。 通俗来讲就是将数据结构或对象转换成二进制串的过程。反序列化就是将二进制恢复成Java对象的过程。 2、什么时候使用序列化分布式系统需要将对象传输在网络中;文件存储(服务器发现很久没活动的对象就会将其序列化存储在磁盘文件中,当服务器发现某些需要活动时,先去内存中寻找,如果没找到就从磁盘文件中反序列化出来,恢复成Java对象

阅读全文

Java基础复习--constructor

java中class里的constructor是构造方法的意思。特征构造方法可以有任何访问修饰符或者没有修饰符; 构造方法不能有任何非访问性质的的修饰符,例如static、final、synchronized、abstract(构造方法用于初始化一个实例对象,所以static修饰是没有任何意义的;多个线程不会同时创建内存地址相同的同一个对象,所以synchronized修饰没有意义,构造方法不能被子类继承,所以final和abstract修饰更没有意义); 构造方法没有返回类型,void也不行; 构造方法

阅读全文

Redis4集群环境搭建

这篇我们来安装一个集群环境的redis(单机安装参考我的上一篇)本章使用了redis4.0.5(目前最新稳定版),之前的单机安装步骤也是,新旧版本安装方式一样。 集群至少需要3个节点,要保证集群的高可用性,需要每个节点都有一个备机。所以,redis集群至少需要6台服务器,本篇这里介绍的主要是伪集群,使用了1台服务器运行了6个实例,端口号修改为

阅读全文

细聊分布式ID生成方法

一、需求缘起几乎所有的业务系统,都有生成一个记录标识的需求,例如:(1)消息标识:message-id(2)订单标识:order-id(3)帖子标识:tiezi-id这个记录标识往往就是数据库中的唯一主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。 这个记录标识上的查询,往往又有分页或者排序的业务需求,例如:(1)拉取最新的一页消息:selectmessage-id/ order by time/ limit 100(2)拉取最新的一页订单:selectorder

阅读全文

SpringBoot使用SWAGGER2生成项目在线API文档

一个项目中往往接口文档维护是我们比较头疼的地方,一个接口改动了,文档也要跟着变动,工作量挺大。现在我们来用SpringBoot中的SWAGGER2来自动生成一份漂亮的在线api文档,接口变动也不需要再去维护文档,代码即文档。1、快速新建一个SpringBoot的工程 我们使用官网提供的工具来定制生成,访问:http://start.spring.io/点击页面中的Switch to the full version. 根据自己的需要勾选合适自己项目的工具,最后点击Generate Project下载

阅读全文

开源代码啃不动,不如先定个小目标

刚工作的张大胖问Bill : “大神, 阅读源码到底有嘛用? ”Bill笑了: “老祖宗早就给我们总结好了,‘熟读唐诗三百首, 不会作诗也会吟’,你想想,你刚学Java那会儿,不就是比葫芦画瓢,‘抄袭’着别人的源码成长起来的吗? “啊,那也算源码吗? 都是小例子啊?”“当然算了”Bill 说“还有,你刚开始工作的时候, 不都是先看看别人是怎么写的, 然后自己才能摸索着干活吗? ”

阅读全文

谈谈Java的泛型,逆变与协变、PECS

1、泛型是什么,为什么需要使用泛型?
泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。Java语言引入泛型的好处是安全简单。可以将运行时错误提前到编译时错误。
在java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是

阅读全文

Servlet httpSession的问题描述与延伸

问题通常情况下,我们实现同一个浏览器不同用户登录与不同浏览器同一个用户的登录处理如下:session存储<sessionId,<userId,UserInfo>> 1、同一个session不同用户(同一个浏览器登录不同用户)先判断session是否存在,并取出,通过用户ID查找,发现此session没有此用户信息,那么在此session的value中新增一个userId,userInfo2、不同session,同一个用户(多终端登录)单台可以在session创建时存到一个map中

阅读全文

Redis单机安装与使用

redis的单机安装步骤与java的实现,包括连接池[图片][链接]

阅读全文

如何设计一个小而美的秒杀系统?

本文章转载自IBM-developerWorks文章作者刘鹏 现如今,春节抢红包的活动已经逐渐变成大家过年的新风俗。亲朋好友的相互馈赠,微信、微博、支付宝等各大平台种类繁多的红包让大家收到手软。鸡年春节,公司的老总们也想给 15 万的全国员工发福利,于是我们构建了一套旨在支撑 10 万每秒请求峰值的抢红包系统。经实践证明,春节期间我们成功的为所有的小伙伴提供了高可靠的服务,红包总发放量近百万,抢红包的峰值流量达到 3 万/秒,最快的一轮抢红包活动 3 秒钟所有红包全部抢完,系统运行零故障。红包系统面临的挑

阅读全文

Java基础复习

Java基本类型与引用类型的区别?8种基本类型1、4种整型byte、short、int、long2、二中浮点型float、double3、一种Unicode编码的字符单元char4、一种真值类型boolean 3种引用类型类(class)接口(interface)数组(array) 基本类型的值就是一个数字,字符或者一个布尔值引用类型就是地址,所指向的内存中保存着变量所表示的一个值或一组值。 我们都知道double属于Java中的基本类型,bigdecimal为什么不能做为Java的基本类型?doub

阅读全文

如何限制电脑PC端访问Web页面,只能手机端才能访问?

为了防止做的H5应用的安全,我们会想如何限制电脑PC端访问H5页面,只能手机端才能访问呢?其实我们只要用JS判断用户所使用的浏览器以及操作系统等信息就可以了。navigator是在JavaScript中的一个独立的对象,他用于提供用户所使用的浏览器以及操作系统等信息,以navigator对象属性的形式来提供。navigator介绍appCodeName    javaScript 1.0 介绍:与浏览器相关的内部代码名appMinorVersion IE4及其后续的版本   介绍:辅版本号(通常应用于浏

阅读全文

Java读取Zip文件和PDF文件

工作中碰到的问题,今天正好没事琢磨下,1.主要读取ZIP文件中的内容,无需解压,里面不管有多少层文件夹都可以轻松搞定;2.读取PDF文件。下面来看下具体代码:1.Java读取Zip文件中的内容,无需解压Java Code复制内容到剪贴板 /** * 读取zip文件中的内容 * * @param file * @throws Exception */ public static void readZipFile(String file)

阅读全文

JVM 垃圾回收器工作原理及使用实例介绍

垃圾收集基础Java 语言的一大特点就是可以进行自动垃圾回收处理,而无需开发人员过于关注系统资源,例如内存资源的释放情况。自动垃圾收集虽然大大减轻了开发人员的工作量,但是也增加了软件系统的负担。拥有垃圾收集器可以说是 Java 语言与 C++语言的一项显著区别。在 C++语言中,程序员必须小心谨慎地处理每一项内存分配,且内存使用完后必须手工释放曾经占用的内存空间。当内存释放不够完全时,即存在分配但永不释放的内存块,就会引起内存泄漏,严重时甚至导致程序瘫痪。以下列举了垃圾回收器常用的算法及实验原理:

阅读全文
告知
  •     本站90%以上文章均属原创,部分转载已加上原作者出处。 如需转载本站文章请您务必保留本站出处!
  •     打广告评论者请自重,请为广大网友提供一个健康干净的网络空间。
  •  感谢主机屋提供网站空间;
  •  感谢万网阿里云提供域名解析;
  •  感谢EmpireCMS提供CMS系统;
  •  感谢bootstrap展示本站前端页面;
  •  感谢Glyphicons Halflings提供字体;
  •  感谢大家一直以来对本站的喜爱,感谢大家!
近期文章 建议与反馈