7 三名狂客

尚未进行身份认证

success without applause,diligence without reward!Becoming、Cognifying、Flowing、Screening、Accessing、Sharing、Filtering、Remixing、Interacting、Tracking、Questioning、Beginning.

等级
TA的排名 662

Java 8 中的 Streams API 详解

一、Java 8 中的 Streams API 详解Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。Stream API 借助于同样新出现的 Lambda 表达式,极大的提高编程效率和程序可读性。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用 fork/join 并行方式来拆分任

2020-05-27 18:34:10

寻找最长回文子串

一、题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: “babad”输出: “bab”注意: "aba"也是一个有效答案。二、解决方案package com.company;/** * 功能描述: 最长回文子串 * * @author zc * @since 2020-05-19 */class Solution05 { /** * 寻找最长回文子串 * 算法: 动态规划 * 动态

2020-05-21 18:03:45

有用的文章

一、[JVM性能监控工具(1) jstat(2) jmap(3) jconsole(4) jstack[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gFF8a3fi-1589975630002)(C:\Users\z00515022\AppData\Roaming\Typora\typora-user-images\image-20200518190334449.png)]二、十分钟学会使用 ElasticsearchElasticsearch 是一

2020-05-20 19:55:29

快排小结

一、快排序简介快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,快速排序的核心思想----分治法。快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。该方法的基本思想是:1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。二、代码实现(1)复

2020-05-18 11:19:32

堆排序

一、堆排序简介堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种**选择排序,**它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。堆排序的基本思想是:将待排序序列构造成一个大顶堆 ( 一般升序采用大顶堆,降序采用小顶堆 ),此时,整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换,此时末尾就为最大值。然后将剩余n-1个元素重新构造成一个堆,这样会得到n个元素的次小值。如此反复执行,便能得到一个有序序列了。二、堆排序实现/** * * 堆排序

2020-05-13 15:11:11

Java并发之ScheduleThreadPoolExecutor

一、ScheduleThreadPoolExecutor 简介ScheduledThreadPoolExecutor 扩展了 ThreadPoolExecutor 类,并且添加了其它方法实现了ScheduledExecutorService 接口。schedule() 方法允许在指定的延迟后执行一次任务scheduleAtFixedRate() 方法允许在指定的初始延迟后执行任务,然后以一定的周期重复执行,其中 period 参数用于指定两个任务的开始时间之间的间隔时间,因此任务执行的频率是固定

2020-05-11 19:34:37

Java并发之ThreadPoolExecutor

一、ThreadPoolExecutor 简介ThreadPoolExecutor 是一个可被继承 ( extends ) 的线程池实现,包含了用于微调的许多参数和钩子。主要参数如下:(1) corePoolSize 核心线程数(2) maximumPoolSize 最大线程数(3) keepAliveTime 实例化超过 corePoolSize 的线程,在空闲状态下的存活时间二、Executor实例化(1) Executors.newSingleThreadExecutor()

2020-05-09 21:11:44

Java并发之ThreadPool

一、ThreadPool 简介线程池模式,允许我们控制应用程序创建的线程数,生命周期,以及计划任务的执行并将传入的任务保留在队列中。二、线程池相关类和接口(1) Executors 类Executors 是一个帮助类,提供了创建几种预配置线程池实例的方法。如果你不需要应用任何自定义的微调,可以调用这些方法创建默认配置的线程池,因为它能节省很多时间和代码(2) Executor 和 ExecutorService 接口Executor 和 ExecutorService 接口则用于与 Java 中

2020-05-08 20:08:44

Java并发之Fork-Join

一、Fork-Join 简介fork/join 框架是 Java 7 中引入的 ,它是一个工具,通过 「 分而治之 」 的方法尝试将所有可用的处理器内核使用起来帮助加速并行处理。在实际使用过程中,这种 「 分而治之 」的方法意味着框架首先要 fork ,递归地将任务分解为较小的独立子任务,直到它们足够简单以便异步执行。然后,join 部分开始工作,将所有子任务的结果递归地连接成单个结果,或者在返...

2020-05-07 20:35:26

Java并发之ExecutorService

一、ExecutorService 介绍​ ExecutorService 是 java.util.concurrent 包的重要组成部分,是 Java JDK 提供的框架,用于简化异步模式下任务的执行。二、实例化ExecutorService 类(1) 工厂方法ExecutorService executor = Executors.newFixedThreadPool(50)...

2020-05-06 17:50:57

分布式锁的实现方式

一、redis分布式锁官方叫做 RedLock 算法,是 redis 官方支持的分布式锁算法。分布式锁有 3 个重要的考量点:(1)互斥(只能有一个客户端获取锁)(2)不能死锁(3)容错(只要大部分 redis 节点创建了这把锁就可以)/* * Copyright (c) Huawei Technologies Co., Ltd. 2019-2020. All rights rese...

2020-04-26 17:03:27

分布式一致性算法

Paxos共识算法Paxos共识算法,在工程角度实现了一种最大化保障分布式系统一致性(存在极小的概率无法实现一致)的机制。Raft算法Raft算法Raft算法包括三种角色:Leader(领导者)、Candidate(候选领导者)和Follower(跟随者),决策前通过选举一个全局的leader来简化后续的决策过程。Raft算法面向对多个决策达成一致的问题,分解了Leader选举、日志复制和安...

2020-03-25 19:21:35

值的白嫖的项目

(1)TheAlgorithmshttps://github.com/TheAlgorithms/Java(2) ZXBloghttps://github.com/ZXZxin/ZXBlog(3) LeetCodeAnimationhttps://github.com/MisterBooo/LeetCodeAnimation(4) Java-Tutorialhttps://...

2020-03-23 19:20:42

手写Redis之LRU淘汰算法

一、内存淘汰机制redis 内存淘汰机制有以下几个:noeviction: 当内存不足以容纳新写入数据时,新写入操作会报错,这个一般没人用吧,实在是太恶心了。allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的 key(这个是最常用的)。allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个 key,这个一般没人用吧,为啥要随机...

2020-03-06 17:19:27

值得细品的Github项目

一、Algorithms:https://github.com/williamfiset/Algorithms二、easyexcel: 快速、简单避免OOM的java处理Excel工具https://github.com/alibaba/easyexcel三、Datax: DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlSe...

2020-03-05 18:39:34

总结高频访问github项目

一、适合学习Java技术体系的github项目,(作者github地址)https://github.com/macrozheng(1)mall(一套电商系统)https://github.com/macrozheng/mall(2)mall-swarm(一套微服务商城系统)https://github.com/macrozheng/mall-swarm(3)springcloud-le...

2020-02-27 10:12:46

高star Java项目

一、高star Java项目总结(1) 秒杀:https://github.com/qiurunze123/miaosha(2) flink-learninghttps://github.com/zhisheng17/flink-learning(3) advanced-javahttps://github.com/doocs/advanced-java(4) Java成神之...

2020-02-24 17:12:21

记一次MySql优化问题

一、背景此次查询涉及三个大表的联合查询,即: x_location_t, x_account_t, x_application_t ,每张表的记录大概200万条记录,现在需求是联合查询三个表的记录筛选出用户所需要的条件,原始的sql查询语句如下:select al.id, ln.application_id, al.user_account, case al.user_type whe...

2020-02-21 17:46:06

BIO、NIO、AIO之IO

一、BIOimport java.io.IOException;import java.net.ServerSocket;import java.net.Socket;/** * 阻塞式服务端通信 * @author zc * */public class BIOServer { public static void main(String[] args) throw...

2020-02-19 11:38:15

如何解决学习进度缓慢?

一、先开一剂药针对前端来说,掘金是一个绝佳的学习网站,里面的大牛每天都会推各种学习的路线。我特意花了一上午的时间找了几个。1)前端开发中 79 条不可忽视的知识点汇总,这篇文章截止到目前共获得了 1494 个赞。https://juejin.im/post/5d8989296fb9a06b1f1470702)解密初、中、高级程序员的进化之路(前端),这篇文章截止到目前共获得了 1406 个赞...

2020-02-18 15:52:48

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享王者
    分享王者
    成功上传51个资源即可获取