java
文章平均质量分 81
放逐的信仰
纸上得来终觉浅,绝知此事要躬行
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java中常用的工具类
一、String工具类[java] view plain copy print?package com.mkyong.common; import java.util.ArrayList; import java.util.List; /** * * String工具类. * * @author 宋立君 * @date转载 2016-02-12 13:42:49 · 607 阅读 · 0 评论 -
小算法(快乐数字)
import java.util.HashSet;import java.util.Set;import com.alibaba.fastjson.JSONObject;/** * Function: 判断一个数字是否为快乐数字 19 就是快乐数字 11就不是快乐数字 * 19 * 1*1+9*9=82 * 8*8+2*2=68 * 6*6+8*8=100 * 1*1+0*0...原创 2018-11-15 16:34:02 · 1026 阅读 · 0 评论 -
小算法(02.二叉树的层序遍历)
import java.util.LinkedList;import com.alibaba.fastjson.JSONObject;public class BinaryNode { private Object node; private BinaryNode left; private BinaryNode right; ...原创 2018-11-13 10:39:29 · 208 阅读 · 0 评论 -
小算法(01 红包算法)
/** * 红包算法 * @author admin * */public class RedPacket { //最新金额 private static final int MIN_MONEY=1; //最大金额 private static final int MAX_MONEY=20000; //最大的红包是平均...原创 2018-11-13 10:31:14 · 384 阅读 · 0 评论 -
ID生成器,Twitter的雪花算法(Java)
/** * Twitter_Snowflake<br> * SnowFlake的结构如下(每部分用-分开):<br> * 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 <br> * 1位标识,由于long基本类型在Java中是带符号的,最高...转载 2018-05-17 16:14:43 · 527 阅读 · 0 评论 -
Java Reactive 异步与并发编程
Java Reactive 异步与并发编程【摘要】Reactive 编程在多数人眼中是异步、并发的“银弹/神器”。本文分析了Reactive 执行原理,说明 Reactive 编程是数据驱动的,而不是“事件”驱动的。Reactive 编程分为数据源准备、数据流建模、调度者分配三个基本设计步骤,才能实现异步并发执行。最后,我们给出基于数据流图的计算模型的设计与编程方案。Java Reactive 异...转载 2018-05-04 10:07:49 · 1282 阅读 · 0 评论 -
Java生成二维码
1.zxing maven依赖 com.google.zxing core 3.3.02. 二维码生成 private static final int BLACK = 0xFF000000; private static final int WHITE = 0xFFFFFFFF; /**原创 2017-10-27 16:29:59 · 287 阅读 · 0 评论 -
java hash碰撞分析模拟
for java: 依靠相应语言的hashtable/hashmap实现过程(request多为此结构),当不同的key存入时如果hash值相等则以链表方式连接在前面。此漏洞利用碰撞相同的hash值得到一个长链表, 重新get时,map的计算过程会将时间复杂度巨增,原来一个简单的过程将变成一个很费cpu的过程。 常见的服务器会将用户post的数据保存在hashmap中. 而向hash原创 2017-09-14 18:10:02 · 2974 阅读 · 0 评论 -
理解ThreadLocal(转)
ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它转载 2017-06-20 15:34:49 · 230 阅读 · 0 评论 -
mysql5.7无法启动 服务没有报告任何错误
今天安装mysql ,zip版的,中间发现服务无法启动MySQL数据库在升级到5.7版本后,和之前的版本有些不一样,没有data文件夹,我们都知道MySQL数据库文件是保存在data文件夹中的,网上有人说把5.6版本的data文件夹拷贝一个,这种说法听听都不靠谱,我也试了,确实能够登录,但是无法修改管理员密码,下面还是给个标准的解决方法。安装好MySQL5.7后,打开cmd命令窗口,并转载 2017-03-01 20:58:19 · 1775 阅读 · 0 评论 -
BigDecimal.setScale 处理java小数点
BigDecimal.setScale()方法用于格式化小数点setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3 setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4 setScale(1,BigDecimal.ROUND_H转载 2016-12-07 11:13:14 · 365 阅读 · 0 评论 -
ToStringBuilder学习
系统中一般都要打印日志的,因为所有实体的toString()方法 都用的是简单的"+",因为每"+" 一个就会 new 一个String对象,这样如果系统内存小的话会暴内存(前提系统实体比较多)。使用ToStringBuilder就可以避免暴内存这种问题的。1、ToStringBuilder的append方法 ToStringBuilder类主要用于类的格式化输出。ToStrin原创 2016-11-07 14:32:36 · 302 阅读 · 0 评论 -
Java 7 Fork/Join 并行计算框架概览
Fork/Join框架 依靠应用程序本身并行拆封任务,如果使用简单的多线程程序的方法,复杂度必然很大。这就需要一个更好的范式或者工具来代程序员处理这类问题。Java 7也意识到了这个问题,才标准库中集成了由Doug Lea开发的Fork/Join并行计算框架。通过使用 Fork/Join 模式,软件开发人员能够方便地利用多核平台的计算能力。尽管还没有做到对软件开发人员完全透明,Fork/转载 2016-11-07 11:32:43 · 425 阅读 · 0 评论 -
java无锁
最开始接触到相关的内容应该是从volatile关键字开始的吧,知道它可以保证变量的可见性,而且利用它可以实现读与写的原子操作。。。但是要实现一些复合的操作volatile就无能为力了。。。最典型的代表是递增和递减的操作。。。。我们知道,在并发的环境下,要实现数据的一致性,最简单的方式就是加锁,保证同一时刻只有一个线程可以对数据进行操作。。。。例如一个计数器,我们可以用如下的方式来实现:pu转载 2016-04-28 14:05:35 · 686 阅读 · 0 评论 -
JAVA CAS原理深度分析
参考文档:http://www.blogjava.net/xylz/archive/2010/07/04/325206.htmlhttp://blog.hesey.net/2011/09/resolve-aba-by-atomicstampedreference.htmlhttp://www.searchsoa.com.cn/showcontent_69238.htmhttp://转载 2016-04-28 14:04:19 · 356 阅读 · 0 评论 -
Java并发:volatile内存可见性和指令重排
转载请注明出处:jiq•钦'stechnical Blogvolatile两大作用1、保证内存可见性2、防止指令重排 此外需注意volatile并不保证操作的原子性。(一)内存可见性1 概念 JVM内存模型:主内存和线程独立的工作内存Java内存模型规定,对于多个线程共享的变量,存储在主内存当中,每个线程都有自己独立的工作内存(比如CPU转载 2016-04-28 14:01:48 · 3512 阅读 · 0 评论 -
Java 中的 Blocking 和 non-blocking IO 对比
简介 在前面的文章里曾经总结过最普通的java网络编程流程。在那里,我们通过一个简单的单进程server来处理一个个的客户端请求。这是一个简单的blocking IO模型,在实际中,我们可能要面对的是大量的客户端请求,我们更加具体实际的做法是该怎么办呢?这里,我针对常用的Blocking IO和Non-Blocking IO两种方式进行比较,结合一些经典的论文和材料,看看NIO的步骤和特转载 2016-02-16 20:38:48 · 1833 阅读 · 0 评论 -
spring 处理静态资源
1. 背景前一段时间,WebIDE 开源的过程中,无意间接触到 webjars,觉得比较有趣,于是研究并整理了一下。webjars 是将前端的库(比如 jQuery)打包成 Jar 文件,然后使用基于 JVM 的包管理器(比如 Maven、Gradle 等)管理前端依赖的方案。webjars 的效果非常神奇。对于其用法,我们可以在 maven 项目中添加下面的依赖:<dep...转载 2018-11-20 17:08:13 · 734 阅读 · 0 评论
分享