Bugs

微笑的周末


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • github

Java GC详解

发表于 2018-09-18 | 分类于 java
字数统计: 6.4k 字 | 阅读时长 ≈ 22 分钟
内存管理是计算机编程中的一个重要问题,一般来说,内存管理主要包括内存分配和内存回收 两个部分。 类加载机制的流程:包括了加载、连接 (验证、准备、解析)、初始化五个阶段 java程序执行过程 1、首先Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类加载器加载各个类的字节码文件,加载完毕之后,交由JVM执行引擎执行(执行过程还包括将字节码编译成机器码),JVM执行引擎在执行字节码时首先会扫描四趟class文件来保证定义的类型的安全性,再检查空引用,数据越界,自动垃圾收集等。在整个程序执行过程中,JVM会用一段空间来存储程序执行期间需要用到的数据和相关信息,这段空间一般被称作为Runtime Data Area(运行时数据区),也就是我们常说的JVM内存 2、类加载器分为启动类加载器(不继承classLoader,属于虚拟机的一部分;负责加载原生代码实现的Java核心库,包括加载JAVA_HOME中jre/lib/rt.ja ...
阅读全文 »

面试前准备

发表于 2018-09-16 | 分类于 面试
字数统计: 2.8k 字 | 阅读时长 ≈ 9 分钟
http和https的区别 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。 HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。 HTTPS和HTTP的区别主要如下: 1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。 2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。 3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。 4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传 ...
阅读全文 »

面试前准备

发表于 2018-09-16 | 分类于 面试
字数统计: 436 字 | 阅读时长 ≈ 1 分钟
介绍做过的相关系统,特别是分布式的系统 redis缓存,过期时间设置,缓存如何更新, 数据库如何分库分表?原则是什么?如何联合查询? mysql中binlog如何使用? kafka中break和topic介绍,消费者和partition的关系,消费者组与topic的关系,partition的作用 kafka的流程,为什么使用消息中间件? 为什么使用es?优点是什么 序列化和反序列化的工具,原理及比较 dubbo的流程说明,服务提供与消费者的整套流程 多数据库如何处理? 多源数据库如何取topN的数据? 二面 面向对象三大特性 线程池-corepoolsize到达后如何增大到maxpoolsize 核心方法:addWorker 首先ctl是一个原子量,同时它里面包含了两个field,一个是workerCount,另一个是runState workerCount表示当前有效的线程数,也就是Worker的数量 runState表示当前线程池的状态首先work ...
阅读全文 »

Java SPI 机制详解

发表于 2018-09-12 | 分类于 java
字数统计: 2k 字 | 阅读时长 ≈ 8 分钟
本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/post/5af952fdf265da0b9e652de3 什么是 SPI?SPI 全称为 (Service Provider Interface) ,是 JDK 内置的一种服务提供发现机制。SPI 是一种动态替换发现的机制, 比如有个接口,想运行时动态的给它添加实现,你只需要添加一个实现。我们经常遇到的就是 java.sql.Driver 接口,其他不同厂商可以针对同一接口做出不同的实现,mysql 和 postgresql 都有不同的实现提供给用户,而 Java 的 SPI 机制可以为某个接口寻找服务实现。 类图中,接口对应定义的抽象 SPI 接口;实现方实现 SPI 接口;调用方依赖 SPI 接口。 SPI 接口的定义在调用方,在概念上更依赖调用方;组织上位于调用方所在的包中;实现位于独立的包中。 当接口属于实现方的情况,实现方提供了接口和实现,这个用法很常见,属于 API 调用。我们可以引 ...
阅读全文 »

Kafka 简单入门

发表于 2018-09-12 | 分类于 MQ
字数统计: 2.3k 字 | 阅读时长 ≈ 9 分钟
本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/post/5b8f85a1e51d450e4d2f8eca?utm_source=gold_browser_extension![](https://user-gold-cdn.xitu.io/2018/9/5/165a8a9babccbd7a?imageView2/0/w/1280/h/960/format/webp/ignore-error/1) 什么是 kafka Apache Kafka® 是 一个分布式流处理平台 上面是官网的介绍,和一般的消息处理系统相比,不同之处在于: kafka 是一个分布式系统,易于向外扩展 它同时为发布和订阅提供高吞吐量 它支持多订阅者,当失败时能自动平衡消费者 消息的持久化 和其他的消息系统之间的对比: 对比指标 kafka activemq rabbitmq rocketmq 背景 Kafka 是 LinkedIn 开发的一个高性能、分布式 ...
阅读全文 »

Spring AOP 中 JDK 和 CGLib 动态代理哪个更快?

发表于 2018-09-12 | 分类于 java
字数统计: 1.6k 字 | 阅读时长 ≈ 5 分钟
本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/entry/5b95be3a6fb9a05d06732ec2?utm_source=gold_browser_extension 一、背景昨天一位知识星球的小伙伴面试的时候被问到:Spring AOP 中 JDK 和 CGLib 动态代理哪个效率更高?在知识星球整理了一下,今天特分享出来,供大家参考!对知识星球有兴趣的可以了解一下: 二、基本概念首先,我们知道 Spring AOP 的底层实现有两种方式:一种是 JDK 动态代理,另一种是 CGLib 的方式。 自 Java 1.3 以后,Java 提供了动态代理技术,允许开发者在运行期创建接口的代理实例,后来这项技术被用到了 Spring 的很多地方。 JDK 动态代理主要涉及 java.lang.reflect 包下边的两个类:Proxy 和 InvocationHandler。其中,InvocationHandler 是一个接口,可以通过实现 ...
阅读全文 »

Python从闭包到装饰器

发表于 2018-09-11 | 分类于 python
字数统计: 1.9k 字 | 阅读时长 ≈ 7 分钟
本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/post/5b93deb2f265da0a8f35a3b1?utm_source=gold_browser_extension 闭包闭包的概念在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。[1] 以下给出一个闭包的例子: 12345678910111213def outer(): a = 10 def inner(): b= 10 print(b) print(a) return innerif __name__ == '__main__': inner_func = outer() inner_func() >> 10 在这里 a 作为 outer 的局部变量,一般情况下会在函数结束的时候释放为 a 分配到的内存。但是在 ...
阅读全文 »

未命名

发表于 2018-09-07
字数统计: 803 字 | 阅读时长 ≈ 2 分钟
什么是微服务 架构模式或者架构风格,单一应用划分为一组小的服务,每个服务运行在独立的自己的进程中。 将系统根据业务拆分成一个一个的服务,每一个微服务提供单个业务功能的服务。 优点: 每个服务足够内据,代码容易理解这样焦距一个制定的业务功能或者业务需求 开发简单、效率高 可以小团队单独开发 送耦合的,独立 可以使用不同的语言 易于集成, 缺点: 运维复杂 部署依赖 通讯成本 数据一致性 性能监控 微服务之间是如何独立通讯 springcloud和dubbo的区别 通信:dubbo 是采用rpc,cloud是采用restful,牺牲性能,但避免了rpc的问题,更加的灵活。服务提供放和调用放的依赖依靠一直契约,不存在代码级别的强依赖,更加快速的迭代和演化 dubbo是rpc的框架,springcloud是为服务框架下的一站式解决方案 springboot和springcloud,谈谈理解 SpringBoot,可以用于为服务的开发的基础组件,提供spring的相关支持, ...
阅读全文 »

Python 性能优化的 20 条建议

发表于 2018-09-06 | 分类于 python
字数统计: 2.7k 字 | 阅读时长 ≈ 11 分钟
本文由 简悦 SimpRead 转码, 原文地址 https://segmentfault.com/a/1190000000666603 优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在 Python 中可以通过选择合适的数据结构来优化时间复杂度,如 list 和 set 查找某一个元素的时间复杂度分别是 O(n) 和 O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。 减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵。在 0 元素占大多数的矩阵里使用稀疏矩阵表示。 合理使用 copy 与 deepcopy对于 dict 和 list 等数据结构的对象,直接赋值使用的是引用的方式。而有些情况下需要复制整个对象,这时可以使用 copy 包里的 copy 和 deepcopy,这两个函数的不同之处在于后者是递归复制的。效率也不一样:(以下程序在 ipython 中运行) 123456import copya = ra ...
阅读全文 »

学习分布式不得不会的 ACP 理论

发表于 2018-09-06 | 分类于 架构
字数统计: 3.9k 字 | 阅读时长 ≈ 13 分钟
本文由 简悦 SimpRead 转码, 原文地址 http://blog.51cto.com/13732225/2147711 原创 学习分布式不得不会的 ACP 理论2000 年 7 月,加州大学伯克利分校的 Eric Brewer 教授在 ACM PODC 会议上提出 CAP 猜想。2 年后,麻省理工学院的 Seth Gilbert 和 Nancy Lynch 从理论上证明了 CAP。之后,CAP 理论正式成为分布式计算领域的公认定理。 无论你是一个系统架构师,还是一个普通开发,当你开发或者设计一个分布式系统的时候,CAP 理论是无论如何也绕不过去的。本文就来介绍一下到底什么是 CAP 理论,如何证明 CAP 理论,以及 CAP 的权衡问题。 CAP理论概述CAP 理论:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。 读者需要注意的的是,CAP 理论中的 C ...
阅读全文 »
1…567…10

Dean Wang

92 日志
20 分类
36 标签
GitHub E-Mail
© 2018 Dean Wang | Site words total count: 292.5k
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4