自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

代码时光

高山仰止,景行行止.虽不能至,心向往之。

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 你知道Thread.Sleep(0)的用处吗?

前言我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:假设现在是 2020-7-28 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-72020-7-28 12:00:01.000 的时候,这个线程会 不会被唤醒?某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0) 。既然是 Sleep 0 毫秒,那么他跟去掉这句代码相比,有啥区别么?我们先回顾一下操

2020-07-28 10:29:20 108

原创 深入理解 Java 虚拟机 学习笔记

深入理解 Java 虚拟机 学习笔记深入理解 Java 虚拟机 学习笔记第二章 Java 内存区域与内存溢出异常内存区域对象创建对象的内存布局对象访问内存溢出异常常用 JVM 参数 (Java HotSpot VM)常见异常及可能原因String 与字符串常量第三章 垃圾收集器与内存分配策略判断对象是否存活垃圾收集算法HotSpot 算法实现垃圾收集器内存分配与回收策略第六章 类文件结构第七章 虚拟机类加载机制类加载的过程类加载器

2020-07-25 10:42:34 224

翻译 使用 Redis 和 Spring Boot 执行异步任务

Spring/Spring BootSpring 是最流行 Java 应用程序开发框架。因此,Spring 社区也是最大的开源社区之一。除此之外,Spring 博客还提供了最新的开发文档,内容非常丰富。涵盖了框架的内部工作原理和示例项目,在StackOverflow上有10万多个问题。Spring 早期只支持基于XML的配置,为此饱受批评。后来 Spring 引入了基于注解的配置,情况发生了根本改变。Spring 3.0是第一个支持基于注解的配置的版本。2014年发布的 Spring Boot 1.0,

2020-07-23 17:59:07 473

原创 Python实现进度条功能的6种炫酷姿势

今天给大家介绍下目前6种比较常用的进度条,让大家都能直观地看到脚本运行最新的进展情况。普通进度条带时间进度条tpdm进度条progress进度条alive_progress进度条可视化进度条1.普通进度条在代码迭代运行中可以自己进行统计计算,并使用格式化字符串输出代码运行进度。import sysimport timedef progress_bar(): for i in range(1, 101): print("\r", end="")

2020-07-23 10:31:29 1258

原创 带你上手阿里开源的 Java 诊断利器:Arthas

项目源码地址:https://github.com/alibaba/arthas一、简介为什么要用 Arthas?好多 Java 开发的小伙伴可能有遇到下面这些问题:项目中导入了一个 jar 包的不同版本,那么这个类从哪个 jar 包加载的?线上环境为什么会报各种异常?本地项目运行没问题,线上环境运行的结果为什么和本地不同?数据原因没有执行到?代码没有 commit?环境上使用的分支搞不对?线上环境遇到偶先问题,难道只能通过加日志,调整项目日志级别,重新打包发布验证问题吗?线上环境遇到某个用.

2020-07-20 10:30:29 1109

原创 Akka学习指南(Java版)——4.构建分布式系统Demo

1.目标我们将构建一个服务和一个客户端。也就是数据库和与之通信的数据库客户端。要通过网络在客户端和服务之间发送消息,我们的两个项目需要共享相同的消息。首先,我们将扩展前面的服务器项目,定义希望数据库接受的所有消息。接着,我们将针对这些消息分别实现数据库中的相关功能。在构建了这些基本操作之后,我们将编写一个 main()方法来运行数据库。启动应用程序后,我们将构建一个 ActorSystem 以及一个在该 ActorSystem 中的 Actor,这就构成了我们的第一个 Akka 微服务。我们还将创建

2020-07-17 10:01:47 617 2

原创 Akka学习指南(Java版)——3.深耕事件驱动API

1.理解 Future 和 Promise现代化的 Future 隐式地处理了两种情况:失败与延迟。要了解如何把阻塞式 IO 转化成非阻塞式 IO,我们必须学习一些不同的表示失败处理和延迟处理的抽象概念。刚开始可能会显得有点困难,但是一旦真正理解了,大多数开发者就能够习惯这种编程范式了。1.1.Future——在类型中表达失败与延迟像 ask 模式这样的异步 API 会返回一个占位符,类似前面提到的 Future 类型。我们可以了解如何使用不同的方法在测试用例中与 PongActor 进行交互,以及

2020-07-16 20:50:49 244

原创 Akka学习指南(Java版)——2.初识事件驱动API

在继续学习更复杂的基于 Actor 的应用程序之前,需要了解一些事件驱动编程模型中的基本抽象概念:Promise和 Future。在前文中,我们已经了解过如何向一个 Actor 发送消息,以及如何在 Actor 内根据接收到的事件进行不同的响应行为。但是,如果想要通过发送消息向 Actor 请求获取一些输出结果呢?比如说需要从内存键值存储中获取一条记录。1. 常见阻塞式 IO 案例几乎每个开发者都很熟悉阻塞式的代码。进行 IO 操作时,编写的都是阻塞式的代码。当我们调用一个同步的 API 时,调用的方

2020-07-16 20:14:12 460

原创 Akka学习指南(Java版)——1.简单构建一个Actor

前言关于Akka及Actor介绍这里就不多说了,可以直接看akka2.5官方文档这里用到的Akka版本是2.5.31,java采用的是jdk8maven依赖如下:<dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-actor_2.12</artifactId> <version>2.5.31</version></d

2020-07-16 18:06:26 1390

原创 从“一个HTTP请求”来讲起,不再畏惧面试中的网络常识!

从一个经典的面试题说起,输入URL到页面展现的过程:输入URL后,会先进行域名解析。优先查找本地host文件有无对应的IP地址,没有的话去本地DNS服务器查找,还不行的话,本地DNS服务器会去找根DNS服务器要一个域服务器的地址进行查询,域服务器将要查询的域名的解析服务器地址返回给本地DNS,本地DNS去这里查询就OK了。浏览器拿到服务器的IP地址后,会向它发送HTTP请求。HTTP请求经由一层层的处理、封装、发出之后,最终经由网络到达服务器,建立TCP/IP连接,服务器接收到请求并开始处理。服务器

2020-07-15 11:01:54 245

原创 Java容器集合经典面试题集

1. Java容器集合的分类,各自的继承结构Java中的容器集合分为两大阵营,一个是Collection,一个是MapCollection下分为Set,List,QueueSet的常用实现类有HashSet,TreeSet等List的常用实现类有ArrayList,LinkedList等Queue的常用实现类有LinkedList,ArrayBlockingQueue等Map下没有进一步分类,它的常用实现类有HashMap,ConcurrentHashMap等2. Java集合中的fai.

2020-07-13 15:47:04 272

原创 彻底理解网络中的IO多路复用

1、什么是IO多路复用IO多路复用是一种同步IO模型,实现一个线程可以监视多个文件句柄;一旦某个文件句柄就绪,就能够通知应用程序进行相应的读写操作;没有文件句柄就绪时会阻塞应用程序,交出cpu。多路是指网络连接,复用指的是同一个线程2、为什么有IO多路复用机制?没有IO多路复用机制时,有BIO、NIO两种实现方式,但有一些问题同步阻塞(BIO)服务端采用单线程,当accept一个请求后,在recv或send调用阻塞时,将无法accept其他请求(必须等上一个请求处recv或send完),无法

2020-07-13 13:42:50 808

原创 【Elastic Stack下】Kibana+logstash+Nginx+Filebeat+Metricbeat入门学习,让你对ELK日志架构不再困惑

课程介绍Nginx日志分析系统Filebeat入门学习Metricbeat入门学习Kibana入门学习Logstash入门学习综合练习1、Nginx日志分析系统1.1、项目需求Nginx是一款非常优秀的web服务器,往往nginx服务会作为项目的访问入口,那么,nginx的性能保障就变得非常重 要了,如果nginx的运行出现了问题就会对项目有较大的影响,所以,我们需要对nginx的运行有监控措施,实时掌握nginx的运行情况,那就需要收集nginx的运行指标和分析nginx

2020-07-11 22:10:24 580

原创 【Elastic Stack上】Elastic Search快速入门,让你对ELK日志架构不再困惑

课程介绍Elastic Stack简介Elasticsearch的介绍与安装Elasticsearch的快速入门Elasticsearch的核心讲解中文分词全文搜索Elasticsearch集群Java客户端讲解1、Elastic Stack简介如果你没有听说过Elastic Stack,那你一定听说过ELK,实际上ELK是三款软件的简称,分别是Elasticsearch、Logstash、Kibana组成,在发展的过程中,又有新成员Beats的加入,所以就形成了Elastic Sta

2020-07-11 19:09:56 1306

原创 【一篇入魂】Zookeeper快速入门,部署、集群、数据结构、API、原理、面试真题

第 1 章 Zookeeper 入门1.1 概述Zookeeper 是一个开源的分布式的,为分布式应用提供协调服务的 Apache 项目。Zookeeper工作机制Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化 ,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。1.2 特点Zookeeper:一个领导者(Leader),多个跟随.

2020-07-10 13:07:32 161

原创 【一篇入魂】redis快速入门—部署、数据类型、持久化、事务、集群

Redis简介简单介绍Redis:开源、免费、非关系型数据库、K-V数据库、内存数据库,支持持久化、事务和备份,集群(支持16个库)等高可用功能。并且性能极高(可以达到100000+的QPS),易扩展,丰富的数据类型,所有操作都是单线程,原子性的。NOSQL:非关系型数据库,数据与数据之间没有关联关系。就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题类型键值(key-value)存储数据库列存储数据库:键仍然存在,但是指向了多个列,HBase (eg:博客平台(标签和文章

2020-07-10 10:29:33 404

原创 日志系统新贵Loki,是该考虑替换掉你的ELK了

最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的背景。背景和动机当我们的容器云运行的应用或者某个节点出现问题了,解决思路应该如下:我们的监控使用的是基于prometheus体系进行改造的,prometheus中比较重要的是metric和alert,metric是来说明当前或者历史达到了某个值,alert设置metric达到某个特定的基数触发了告警,但是这些

2020-07-10 09:49:08 1253

原创 JVM参数你设置对了吗?

前言一般来说,每个公司对于JVM的参数都有规范的,甚至形成了一些公司层面的默认配置,如果遇到性能问题(比较特殊的使用场景),就会考虑从代码层次、JVM层次、甚至Linux服务器层次去进行优化。堆设置-Xms:初始堆大小-Xmx:最大堆大小-XX:NewSize=n:设置年轻代大小-XX:NewRatio=n:设置年轻代和年老代的比值。如n=3,表示年轻代与年老代比值为1:3,年轻代占整个年轻和代年老代的1/4-XX:SurvivorRatio=n:年轻代中Eden区与两个

2020-07-09 20:11:27 581

kali-cookbook PDF大全

Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。由Offensive Security Ltd维护和资助。最先由Offensive Security的Mati Aharoni和Devon Kearns通过重写BackTrack来完成,BackTrack是他们之前写的用于取证的Linux发行版 。Kali Linux预装了许多渗透测试软件。

2020-07-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除