精彩博客

Oracle推出轻量级Java微服务框架Helidon

近日,Oracle 推出 了一个新的开源框架 Helidon ,该项目是一个用于创建基于微服务的应用程序的Java库集合。和 Payara Micro 、 Thorntail (之前的 WildFly Swarm )、 OpenLiberty 、TomEE...

昨天 17:48
429
0
深入理解Java中停止线程

一.停止线程会带来什么? 对于单线程中,停止单线程就是直接使用关键字return或者break,但是在停止多线程时是让线程在完成任务前去开启另外一条线程,必须放弃当前任务,而这个过程是不可预...

昨天 16:04
307
0
白话SpringCloud | 第九章:路由网关(Zuul)的使用

前言 介绍完分布式配置中心,结合前面的文章。我们已经有了一个微服务的框架了,可以对外提供api接口服务了。但现在试想一下,在微服务框架中,每个对外服务都是独立部署的,对外的api或者服...

昨天 08:57
395
0
Django model转字典的几种方法

平常的开发过程中不免遇到需要把model转成字典的需求,尤其是现在流行前后端分离架构,Json格式几乎成了前后端之间数据交换的标准,这种model转dict的需求就更多了,本文介绍几种日常使用的方...

10/13 09:25
79
0
移植facebook flashcache模块支持 linux kernel 4.13以上

环境 准备在ubuntu 18.04 lts下搭建kvm+libvirt+glusterfs的虚拟化环境。 4台服务器是2块SSD,4块SATA(5400RPM)。 尝试了gluster tier,效果不好。 对于虚拟化环境下大文件的存储,tier的p...

10/12 23:18
51
0
深入理解Java的分级引用模型

本文通过探析Java中的引用模型,分析比较强引用、软引用、弱引用、虚引用的概念及使用场景,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目提供参考。 1 Java的引用 对于Java中...

10/12 16:18
509
0
Go 垃圾回收原理

1. 前言 所谓垃圾就是不再需要的内存块,这些垃圾如果不清理就没办法再次被分配使用,在不支持垃圾回收的编程语言里,这些垃圾内存就是泄露的内存。 Golang的垃圾回收(GC)也是内存管理的一...

10/12 15:05
13
0
python通过web3py链接以太坊区块链节点的几种方式

通信服务提供接口是web3如何与区块链交互的关键。接口接受JSON-RPC请求并返回响应。这通常通过将请求提交给基于HTTP或IPC套接字的服务器来完成。 如果你已经愉快地连接到你的以太坊节点,那么...

10/11 10:02
209
0
白话SpringCloud | 第八章:分布式配置中心的服务化及动态刷新

前言 上一章节,简单介绍了分布式配置中心Spring Cloud Config的使用。同时,我们也遗漏了一些问题,比如如何配置实时生效,当服务端地址变更或者集群部署时,如何指定服务端地址?回想,在服...

10/11 09:14
430
1
JVM系列2:HotSpot虚拟机对象

1.对象创建过程:   ①.类加载检查:当java虚拟机遇到一条new指令时,首先会去检查该指令的参数能否在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析、初...

10/10 17:18
279
0
白话SpringCloud | 第七章:分布式配置中心的使用

前言 介绍完服务的容错保护处理,接下来我们来了解下关于分布式配置中心的相关知识和使用。众所周知,随着项目的越来越多,日益庞大,每个子项目都会伴随着不同的配置项,于此也就多了很多的...

10/10 09:00
585
0
go微服务框架go-micro深度学习(三) Registry服务的注册和发现

服务的注册与发现是微服务必不可少的功能,这样系统才能有更高的性能,更高的可用性。go-micro框架的服务发现有自己能用的接口Registry。只要实现这个接口就可以定制自己的服务注册和发现。 ...

10/09 22:17
437
2
Go 内存管理

1. 前言 编写过C语言程序的肯定知道通过malloc()方法动态申请内存,其中内存分配器使用的是glibc提供的ptmalloc2。 除了glibc,业界比较出名的内存分配器有Google的tcmalloc和Facebook的jem...

10/09 16:55
1K
14
推荐一款工具可以把 json 转成 go 的 struct

go 这种强类型语言,在 decode json 的时候,一般需要定义一套数据结构用于映射,常用的就是 struct,在没有发现这个工具以前,我都是手写,遇到一些比较大的 json 时候,第一写起来比较恶心...

10/09 10:03
234
1
Dubbo基本用法-Dubbo Provider配置

Dubbo基本用法 本章节主要讲述如何配置dubbo,按照配置方式上分,可以分为:XML配置,properties方式配置,注解方式配置,API调用方式配置。 按照功能角度进行划分,可以分为Dubbo Provider和...

10/08 22:21
302
0
分布式的系统核心是什么——日志

什么是日志? 日志就是按照时间顺序追加的、完全有序的记录序列,其实就是一种特殊的文件格式,文件是一个字节数组,而这里日志是一个记录数据,只是相对于文件来说,这里每条记录都是按照时间...

10/08 16:14
656
0
分布式系统关注点——初识「高可用」

本篇的要点主要是明确「高可用」的定义,以及了解在分布式系统下哪些环节要做「高可用」,为后续要讲的策略、方式方案打下基础。如有1年以上的分布式系统实战经验可酌情选择跳过本篇。 Tips...

10/08 14:19
1K
5
Java编程详细解析—淘宝大秒杀系统是如何设计的?

摘要 最初的秒杀系统的原型是淘宝详情上的定时上架功能,由于有些卖家为了吸引眼球,把价格压得很低。但这给的详情系统带来了很大压力,为了将这种突发流量隔离,才设计了秒杀系统,文章主要...

10/08 14:16
3.7K
33
java使用比特币开源类库bitcoinj开发比特币入门指南

bitcoinj是一个使用比特币协议的库。它可以维护钱包,发送/接收交易而无需比特币核心的本地副本,并具有许多其他高级功能。它是用Java实现的,但可以通过任何JVM兼容语言中使用:包括Python和...

10/08 10:38
240
0
Akka向设备组添加Actor注册《thirteen》译

我们已经完成了设备级别的注册支持,现在我们必须在组级别实现它。在注册时,小组成员还有更多工作要做,包括: 通过将注册请求转发给现有设备actor或通过创建新actor并转发消息来处理注册请...

10/05 20:57
141
0

没有更多内容

加载失败,请刷新页面

Go 内存管理

1. 前言 编写过C语言程序的肯定知道通过malloc()方法动态申请内存,其中内存分配器使用的是glibc提供的ptmalloc2。 除了glibc,业界比较出名的内存分配器有Google的tcmalloc和Facebook的jem...

10/09 16:55
1K
14
jvm误区--动态对象年龄判定

虚拟机并不是永远地要求对象的年龄必须达到了MaxTenuringThreshold才能晋升老年代,如果在Survivor空间中相同年龄所有对象大小的总和大于Survivor空间的一半,年龄大于或等于该年龄的对象就可...

09/29 20:01
955
1
SpringBoot | 第二十九章:Dubbo的集成和使用

前言 今年年初时,阿里巴巴开源的高性能服务框架dubbo又开始了新一轮的更新,还加入了Apache孵化器。原先项目使用了spring cloud之后,已经比较少用dubbo。目前又抽调回原来的行业应用部门,...

09/28 09:39
2.2K
5
聊聊 Go Socket 框架 Teleport 的设计思路

项目源码 teleport:https://github.com/henrylee2cn/teleport 背景 大家在进行业务开发时,是否是否遇到过下列问题,并且无法在Go语言开源生态中找到一套完整的解决方案? 高性能、可靠地通...

09/27 10:05
1K
3
微服务写的最全的一篇文章

今年有人提出了2018年微服务将疯狂至死,可见微服务的争论从未停止过。在这我将自己对微服务的理解整理了一下,希望对大家有所帮助。 1.什么是微服务 1)一组小的服务(大小没有特别的标准,...

09/26 22:46
4K
34
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

09/26 01:29
2.9K
10
线程中断以及线程中断引发的那些问题

上周写了一篇多线程的文章,其实更多方面是偏基础一点的文章,而且也比较大白话,争取人人都能看的明白,再举一些常见的例子,能很好的帮助大家理解多线程,文章发表之后我投给了几个大号和C...

09/10 10:26
1K
2
5个步骤,教你瞬间明白线程和线程安全

记得今年3月份刚来杭州面试的时候,有一家公司的技术总监问了我这样一个问题:你来说说有哪些线程安全的类?我心里一想,这我早都背好了,稀里哗啦说了一大堆。 他又接着问:那你再来说说什么...

09/07 16:26
4.5K
24
「造个轮子」——cicada(轻量级 WEB 框架)

前言 俗话说 「不要重复造轮子」,关于是否有必要不再本次讨论范围。 创建这个项目的主要目的还是提升自己,看看和知名类开源项目的差距以及学习优秀的开源方式。 好了,现在着重来谈谈 cica...

09/03 08:56
2.3K
4
Golang modules 初探

今天天色刚刚亮起,起床看到golang 1.11正式发版了,有着两个重要的特性:modules和WebAssembly。 本博文只要说的是modules,从Java转golang的同学肯定是对golang的包管理充满了无奈之情,我...

08/26 16:05
4.3K
8
Spring Cloud 开源软件都有哪些?

学习一门新的技术如果有优秀的开源项目,对初学者的学习将会是事半功倍,通过研究和学习优秀的开源项目,可以快速的了解此技术的相关应用场景和应用示例,参考优秀开源项目会降低将此技术引入...

08/07 08:19
3.7K
5
初试RocketMQ消息中间件

1. 为什么要用MQ 在使用SpringCloud或Dubbo进行SOA架构后,不同的应用层模块(web)与业务层模块(service)要建立调用关系,也就是依赖/耦合 当模块变多时,模块间的耦合度也会逐步上升,这就需...

08/02 17:40
3.5K
6
从构建分布式秒杀系统聊聊分布式锁

前言 最近懒成一坨屎,学不动系列一波接一波,大多还都是底层原理相关的。上周末抽时间重读了周志明大湿的 JVM 高效并发部分,每读一遍都有不同的感悟。路漫漫,借此,把前段时间搞着玩的秒杀...

08/01 19:36
6.9K
14
Python中字符串拼接的N种方法

python拼接字符串一般有以下几种方法: ①直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果:Hello World! 使用这种方式进行字符串连接的操作效率低下,因为python中...

07/23 11:21
3.2K
14
大家都在学的编程语言 Python,可以用来干什么?

编者按:Python因为简单全面易用而成为近年来大热的编程语言。但是很多人学习了这门余元的语法和基本功能之后却不知道Python能干什么以及怎么做。Realpython.com上面的一篇文章于是把Python可...

07/18 13:41
4K
3
C++反射机制:可变参数模板实现C++反射

1. 概要   本文描述一个通过C++可变参数模板实现C++反射机制的方法。该方法非常实用,在Nebula高性能网络框架中大量应用,实现了非常强大的动态加载动态创建功能。Nebula框架在码云的仓库地...

07/13 12:38
2.4K
5
深入理解JAVA中的NIO

前言: 传统的 IO 流还是有很多缺陷的,尤其它的阻塞性加上磁盘读写本来就慢,会导致 CPU 使用效率大大降低。 所以,jdk 1.4 发布了 NIO 包,NIO 的文件读写设计颠覆了传统 IO 的设计,采用通...

07/09 21:48
4K
11
字节码实战--手写一个btrace

简易的btrace需求 偶现的方法执行慢,我们是可以用jstack捕捉到的,但是慢到什么地步却是不一定知道的,现在就需要在不重启应用的情况下,获取方法执行的时间。 需求特点 应用不重启 获取方法...

07/05 23:37
2K
4
netty实战--手写rpc框架

在看此篇内容时需要浏览下面内容 从零开始学netty——如何面对粘包和拆包 从零开始学netty——自定义协议 rpc简介 rpc大家大概都听说过,远程过程调用。简单来说,就是我的一个操作是远程操作...

06/27 13:43
2.7K
3
JPA、Hibernate、Spring data jpa之间的关系,终于明白了

什么么是JPA? 全称Java Persistence API,可以通过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。 为我们提供了: 1)ORM映射元数据:JPA支持XML和注解两种...

06/12 09:54
3.7K
10

没有更多内容

加载失败,请刷新页面

UnicodeDecodeError: 'utf-8' codec can't decode byte..

python,ubuntu下,碰到问题。 open函数中encoding=“unicode”或者ASCII都是不行的,直接将“r”改成“rb”,二进制就可以了

21分钟前
1
0
Cocopods的升级错误解决

写在前面: 这篇笔记的由来,是因为在这个周五下班后想起了之前 GitHub 上一个关于 iOS Charts 的 demo 仍处于未完待续的状态。便想着完成了它,遂打开了该工程,开始用 pod 更新第三方库。更...

31分钟前
0
0
Spring bean定义

形成应用程序的骨干是由Spring IoC容器所管理的对象称为bean。bean被实例化,组装,并通过Spring IoC容器所管理的对象。这些bean由容器提供,例如,在XML的<bean/>定义,已经看到了前几章的形...

32分钟前
0
0
Spring Bean Scopes作用域

当定义一个Spring的<bean>,必须声明bean 作用域的选项。例如,要强制Spring需要产生一个新的bean实例,应该声明bean的scope属性为prototype。如果你希望Spring 每次都返回同一个bean实例,应...

32分钟前
0
0
linux 系统 UDP 丢包问题分析思路

最近工作中遇到某个服务器应用程序 UDP 丢包,在排查过程中查阅了很多资料,总结出来这篇文章,供更多人参考。 在开始之前,我们先用一张图解释 linux 系统接收网络报文的过程。 ● 首先网络...

35分钟前
1
0
Flink状态管理和容错机制介绍

导读:本文来自8月11日在北京举行的 Flink Meetup会议,分享来自于施晓罡,目前在阿里大数据团队部从事Blink方面的研发,现在主要负责Blink状态管理和容错相关技术的研发 本文主要内容如下: ...

36分钟前
0
0
vc编译去掉vcruntime140.dll依赖

属性-配置属性-c/c++-代码生成-运行库:多线程(/MT) 然后会发生一些诸如: LNK2001 无法解析的外部符号 __except_handler4_common msvcrt.lib LNK2001 无法解析的外部符号 __imp__strstr 等问...

39分钟前
2
0
Dubbo/HSF在Service Mesh下的思考和方案

开头 Service Mesh这个“热”词是2016年9月被“造”出来,而今年2018年更是被称为service Mesh的关键之年,各家大公司都希望能在这个思潮下领先一步。今天我也分享阿里中间件在这方面的观点,...

45分钟前
2
0
Java default方法

1.前言 今天在Iterable接口中看见了一个“新方法”forEach,在它的前面有个default关键字。所以特意查了下它的用法。 2.示例与说明 下面是一个小例子: public class Main implements B{ pu...

今天 13:44
1
0
转载:Java实现的SFTP

JSch - Java实现的SFTP(文件上传详解篇):https://www.cnblogs.com/longyg/archive/2012/06/25/2556576.html JSch - Java实现的SFTP(文件下载详解篇):https://www.cnblogs.com/longyg/...

今天 13:40
3
0
Spring Boot全局异常处理

Spring Boot默认的异常处理机制 默认情况下,Spring Boot为两种情况提供了不同的响应方式。 一种是浏览器客户端请求一个不存在的页面或服务端处理发生异常时,一般情况下浏览器默认发送的请求...

今天 12:26
12
0
Socket网络编程进阶与实战

Socket网络编程进阶与实战 Socket对于每个工程师的重要性不言而喻。本课程将理论结合实践,带你从零开始,系统学习Socket编程技术,让Socket的学习不再那么零散与难以掌握,同时会提炼出Soc...

今天 12:14
8
0
@ControllerAdvice 拦截异常并统一处理

在spring 3.2中,新增了@ControllerAdvice 注解,可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping中。 一、介绍 创建 MyControllerAdvice,并添...

今天 11:58
4
0
HashSet

前言 Set的实现类都是基于Map来实现的(HashSet是通过HashMap实现的)。 构造图如下: 蓝色线条:继承 绿色线条:接口实现 正文 对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保...

今天 11:46
1
0
HashMap实现原理及源码分析

HashMap的实现:数组+链表 HashMap的主干是一个Entry数组。Entry是HashMap的基本组成单元,每一个Entry包含一个key-value键值对。 //HashMap的主干数组,可以看到就是一个Entry数组,初始值为...

今天 11:36
0
0
java中创建线程的三种方法以及区别

java中创建线程的三种方法以及区别 Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。Java可以用三种方式来创建线程,如下所示: 1)继承Thread类创建线程 2)实现...

今天 11:29
6
0
Java的快速失败和安全失败

一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。 原理:迭代器在...

今天 11:24
5
0
spring事务的七种传播属性和五种隔离级别

事务定义 事务,就是一组操作数据库的动作集合。如果一组处理步骤或者全部发生或者一步也不执行,我们称该组处理步骤为一个事务。当所有的步骤像一个操作一样被完整地执行,我们称该事务被提...

今天 11:22
0
0
hibernate与mybatis的对比

第一方面:开发速度的对比 Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些。个人觉得要用好Mybatis还是首先要先理解好Hibernate。 比起两者的开发...

今天 11:19
7
0
Linux学习-1015

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 相关测验题目:题目:http://ask.apelearn.com/question/5437 扩展 扩展 1. source exec 区别...

今天 11:17
5
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部