自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱分享的淘金达人

热爱生活,乐于分享,坚持不懈,赢就未来

转载 电商产品评论数据情感分析代码详解

本章代码建议在linux下面运行,windows下安装gensim会比较麻烦。 我是在python3.5.2的pycharm下运行的 下面代码的意思是从评论数据中抽取品牌是美的的数据(15-1) [python] view plain copy #...

2018-01-30 11:33:30 6723 2

原创 基础篇--Web容器学习路径

在开篇词里我提到要成长为一名高级程序员或者架构师,我们需要提高自己知识的广度和深度。你可以先突破深度,再以点带面拓展广度,因此我建议通过深入学习一些优秀的开源系统来达到突破深度的目的。 我会跟你一起在这个专栏里深入学习 Web 容器 Tomcat 和 Jetty,而作为专栏更新的第 1 篇文章,...

2020-06-26 17:44:20 32 0

原创 开篇--Java程序员如何快速成长?

你好,很高兴你走进我的“深入拆解 Tomcat & Jetty”专栏,与我和其他同学一起探讨熟悉又陌生的 Tomcat 和 Jetty。 如果你和我一样选择了 Java Web 开发这个方向,并且正在学习和提高的路上,你一定思考过这个问题: 我怎样才能成长为一名高级程序员或者架构师? ...

2020-06-26 17:31:17 23 0

原创 Java代码是怎么运行的?

我们学院的一位教授之前去美国开会,入境的时候海关官员就问他:既然你会计算机,那你说说你用的都是什么语言吧?教授随口就答了个 Java。 海关一看是懂行的,也就放行了,边敲章还边说他们上学那会学的是 C+。我还特意去查了下,真有叫 C+ 的语言,但是这里海关官员应该指的是 C++。 事后教授告诉...

2020-06-25 11:43:44 15 0

原创 java进阶篇--Redis中实现消息队列的方式有几种,如何实现?

细心的你可能发现了,本系列课程中竟然出现了三个课时都是在说消息队列,讲了程序级别的消息队列以及延迟消息队列的实现,又讲了常见的消息队列中间件 RabbitMQ、Kafka 等,由此可见消息队列在整个 Java 技术体系中的重要程度。本课时我们将重点来看一下 Redis 是如何实现消息队列的。 我...

2020-06-23 12:33:34 26 0

原创 java进阶篇--Redis 的过期策略和内存淘汰机制有什么区别?

Redis 和 MySQL 是面试绕不过的两座大山,他们一个是关系型数据库的代表(MySQL),一个是键值数据库以及缓存中间件的一哥。尤其 Redis 几乎是所有互联网公司都在用的技术,比如国内的 BATJ、新浪、360、小米等公司;国外的微软、Twitter、Stack Overflow、Git...

2020-06-23 12:25:16 32 0

原创 java进阶篇--MySQL 的优化方案有哪些?

性能优化(Optimize)指的是在保证系统正确性的前提下,能够更快速响应请求的一种手段。而且有些性能问题,比如慢查询等,如果积累到一定的程度或者是遇到急速上升的并发请求之后,会导致严重的后果,轻则造成服务繁忙,重则导致应用不可用。它对我们来说就像一颗即将被引爆的定时炸弹一样,时刻威胁着我们。因此...

2020-06-23 12:19:16 21 0

原创 java进阶篇--Redis 是如何实现高可用的?

高可用是通过设计,减少系统不能提供服务的时间,是分布式系统的基础也是保障系统可靠性的重要手段。而 Redis 作为一款普及率最高的内存型中间件,它的高可用技术也非常的成熟。 我们本课时的面试题是,Redis 是如何保证系统高可用的?它的实现方式有哪些? 回答: Redis 高可用的手段主要有...

2020-06-23 12:10:09 25 0

原创 java进阶篇--什么是分布式锁?如何实现分布式锁?

“锁”是我们实际工作和面试中无法避开的话题之一,正确使用锁可以保证高并发环境下程序的正确执行,也就是说只有使用锁才能保证多人同时访问时程序不会出现问题。 我们本课时的面试题是,什么是分布式锁?如何实现分布式锁? 回答: 之前的文章中我们讲了单机锁的一些知识,包括悲观锁、乐观锁、可重入锁、共享...

2020-06-23 12:00:31 24 0

原创 开篇词--为什么我们要学习Java虚拟机?

前不久我参加了一个国外程序员的讲座,讲座的副标题很有趣,叫做:“我如何学会停止恐惧,并且爱上 Java 虚拟机”。 这句话来自一部黑色幽默电影《奇爱博士》,电影描述了冷战时期剑拔弩张的氛围。 程序员之间的语言之争又未尝不是如此。写系统语言的鄙视托管语言低下的执行效率;写托管语言的则取笑系统语言...

2020-06-23 10:20:04 41 0

原创 java进阶篇--聊聊设计模式,分别有哪些应用场景?

凡事对做过程序开发的同学来说,都知道设计模式的内容是非常丰富且非常有趣。我们在一些优秀的框架中都能找到设计模式的具体使用,比如前面 MyBatis 中(第 13 课时)讲的那些设计模式以及具体的使用场景,但由于设计模式的内容比较多,有些常用的设计模式在 MyBatis 课时中并没有讲到。因此本课时...

2020-06-22 16:59:48 30 0

原创 java进阶篇--红黑树和平衡二叉树有什么区别?

数据结构属于理解一些源码和技术所必备的知识,比如要读懂 Java 语言中 TreeMap 和 TreeSet 的源码就要懂红黑树的数据结构,不然是无法理解源码中关于红黑树数据的操作代码的,比如左旋、右旋、添加和删除操作等。因此本课时我们就来学习一下数据结构的基础知识,方便看懂源码或者是防止面试中被...

2020-06-22 16:53:33 31 0

原创 java进阶篇--聊聊工作中常用的算法以及它的内部实现过程?

前面的文章中我们介绍了数据结构的知识,数据结构属于计算机存储的基础,有了它才能更好地将数据进行存储。而算法可以这样理解:它是为数据结构服务的,使用合适的算法可以更快地操作和查询这些数据。 算法的内容有很多,随随便便一本算法书有个 700 页到 1500 页也是很平常的事,因此我们在这里不能把所有...

2020-06-22 15:51:40 17 0

原创 java进阶篇--生产环境如何排查bug和优化 JVM?

通过前面几个课时的学习,相信你对 JVM 的理论及实践等相关知识有了一个大体的印象。而本课时将重点讲解 JVM 的排查与优化,这样就会对 JVM 的知识点有一个完整的认识,从而可以更好地应用于实际工作或者面试了。 我们本课时的面试题是,生产环境如何排查问题? 回答: 如果是在生产环境中直接排...

2020-06-22 14:52:06 25 0

原创 java进阶篇--垃圾回收算法有哪些?

说到 Java 虚拟机不得不提的一个词就是“垃圾回收”(GC,Garbage Collection),而垃圾回收的执行速度则影响着整个程序的执行效率,所以我们需要知道更多关于垃圾回收的具体执行细节,以便为我们选择合适的垃圾回收器提供理论支持。 我们本课时的面试题是,如何判断一个对象是否“死亡”?...

2020-06-22 14:38:24 19 0

原创 java进阶篇--聊聊JVM 的内存布局和运行原理?

JVM(Java Virtual Machine,Java 虚拟机)顾名思义就是用来执行 Java 程序的“虚拟主机”,实际的工作是将编译的 class 代码(字节码)翻译成底层操作系统可以运行的机器码并且进行调用执行,这也是 Java 程序能够“一次编写,到处运行”的原因(因为它会根据特定的操作...

2020-06-22 13:18:53 64 0

原创 Java框架篇--MQ的原理及使用场景?你都用过哪些 MQ 中间件?

之前的文章中我们讲过“手写消息队列”,当时粗略的讲了 Java API 中使用 Queue 实现自定义消息队列,以及使用 Delayed 实现延迟队列的示例;同时还讲了 RabbitMQ 中的一些基础概念。本课时我们将会更加深入的讲解 MQ(Message Queue,消息队列)中间件,以及这些热...

2020-06-22 13:12:39 49 0

原创 java框架篇--SpringBoot 和 Spring 有什么区别?

Spring 和 Spring Boot 的区别很多新手容易搞混,从这道简单的面试题也可以很轻易试探出你的 Java 基础功底,如果连这个问题都答不上来的话,通常就没有什么下文了,因为这已经是用人单位对面试者的最低要求了,所以本课时我们就来看一下二者的区别,以及 Spring Boot 的特性。 ...

2020-06-22 12:31:43 21 0

原创 java框架篇--MyBatis 使用了哪些设计模式?在源码中是如何体现的?

MyBatis 的前身是 IBatis,IBatis 是由 Internet 和 Abatis 组合而成,其目的是想当做互联网的篱笆墙,围绕着数据库提供持久化服务的一个框架,2010 年正式改名为 MyBatis。它是一款优秀的持久层框架,支持自定义 SQL、存储过程及高级映射。MyBatis 免...

2020-06-22 07:48:46 11 0

原创 java框架篇--底层源码分析 Spring 的核心功能和执行流程?(下)

上一课时我们讲了 Bean 相关的内容,它其实也是属于 IoC 的具体实现之一,本课时我们就来讲讲 Spring 中其他几个高频的面试点,希望能起到抛砖引玉的作用,能为你理解 Spring 打开一扇门。因为 Spring 涉及的内容和知识点太多了,用它来写一本书也绰绰有余,因此这里我们只讲核心的内...

2020-06-22 07:48:31 13 0

原创 Java框架篇--底层源码分析 Spring 的核心功能和执行流程?(上)

Spring Framework 已是公认的 Java 标配开发框架了,甚至还有人说 Java 编程就是面向 Spring 编程的,可见 Spring 在整个 Java 体系中的重要位置。 Spring 中包含了众多的功能和相关模块,比如 spring-core、spring-beans、spr...

2020-06-21 20:14:20 15 0

原创 java基础篇--深克隆和浅克隆有什么区别?它的实现方式有哪些?

使用克隆可以为我们快速地构建出一个已有对象的副本,它属于 Java 基础的一部分,也是面试中常被问到的知识点之一。 我们本课时的面试题是,什么是浅克隆和深克隆?如何实现克隆? 典型回答 浅克隆(Shadow Clone)是把原型对象中成员变量为值类型的属性都复制给克隆对象,把原型对象中成员变...

2020-06-21 17:47:01 22 0

原创 java基础篇--如何手写一个消息队列和延迟消息队列?

第一次听到“消息队列”这个词时,不知你是不是和我反应一样,感觉很高阶很厉害的样子,其实当我们了解了消息队列之后,发现它与普通的技术类似,当我们熟悉之后,也能很快地上手并使用。 我们本课时的面试题是,消息队列的使用场景有哪些?如何手动实现一个消息队列和延迟消息队列? 典型回答 消息队列的使用场...

2020-06-21 17:40:09 68 0

原创 java基础篇--动态代理是如何实现的?JDK Proxy 和 CGLib 有什么区别?

90% 的程序员直接或者间接的使用过动态代理,无论是日志框架或 Spring 框架,它们都包含了动态代理的实现代码。动态代理是程序在运行期间动态构建代理对象和动态调用代理方法的一种机制。 我们本课时的面试题是,如何实现动态代理?JDK Proxy 和 CGLib 有什么区别? 典型回答 动态...

2020-06-21 17:33:27 11 0

原创 java基础篇--如何实现本地缓存和分布式缓存?

缓存(Cache) 是指将程序或系统中常用的数据对象存储在像内存这样特定的介质中,以避免在每次程序调用时,重新创建或组织数据所带来的性能损耗,从而提高了系统的整体运行速度。 以目前的系统架构来说,用户的请求一般会先经过缓存系统,如果缓存中没有相关的数据,就会在其他系统中查询到相应的数据并保存在缓...

2020-06-21 17:25:35 40 0

原创 Java基础篇--synchronized 和 ReentrantLock 的实现原理是什么?它们有什么区别?

在 JDK 1.5 之前共享对象的协调机制只有 synchronized 和 volatile,在 JDK 1.5 中增加了新的机制 ReentrantLock,该机制的诞生并不是为了替代 synchronized,而是在 synchronized 不适用的情况下,提供一种可以选择的高级功能。 ...

2020-06-21 17:12:37 17 0

原创 java基础篇--详解 ThreadPoolExecutor 的参数含义及源码执行流程?

线程池是为了避免线程频繁的创建和销毁带来的性能消耗,而建立的一种池化技术,它是把已创建的线程放入“池”中,当有任务来临时就可以重用已有的线程,无需等待创建的过程,这样就可以有效提高程序的响应速度。但如果要说线程池的话一定离不开 ThreadPoolExecutor ,在阿里巴巴的《Java 开发手...

2020-06-21 14:33:16 27 0

原创 java基础篇--线程的状态有哪些?它是如何工作的?

线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在。一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源、更加轻量化,也因此被称为轻量级的进程。 当然,线程也是面试中常被问到的一个知识点,是程序员必备的基础技能,使用它可...

2020-06-21 14:24:14 11 0

原创 java基础篇--HashMap 底层实现原理是什么?JDK8 做了哪些优化?

HashMap 是使用频率最高的类型之一,同时也是面试经常被问到的问题之一,这是因为 HashMap 的知识点有很多,同时它又属于 Java 基础知识的一部分,因此在面试中经常被问到。 本课时的面试题是,HashMap 底层是如何实现的?在 JDK 1.8 中它都做了哪些优化? 在 JDK ...

2020-06-21 10:55:43 165 0

原创 java基础篇--String 的特点是什么?它有哪些重要的方法?

你好,我是你的 Java 面试课老师,欢迎进入第 01 课时的内容“String 的特点是什么?它有哪些重要的方法?”。 几乎所有的 Java 面试都是以 String 开始的,如果第一个问题没有回答好,则会给面试官留下非常不好的第一印象,而糟糕的第一印象则会直接影响到自己的面试结果,就好像刚破...

2020-06-21 10:10:28 48 0

原创 开篇词:大厂技术面试“潜规则”

你好,我是你的 Java 面试课老师,拥有 10 多年大型系统设计、开发和调优经验,热衷于技术分享,是阿里云社区的认证专家,腾讯社区年度最佳作者。 喜欢分享,跟我的个人经历有关:因为曾经吃过亏,所以想通过我的分享让你少走更多的弯路。 为什么说源码掌握程度决定 Offer 薪资? 和大多数人...

2020-06-20 23:16:11 62 0

转载 Scratch完美的初体验

Scratch是由美国麻省理工学院MIT设计开发的图形化少儿编程工具。通过图形控件,小孩可以在不编写任何代码的情况下实现很多程序功能。从初步体验来看,五六岁以上的小孩即可上手。Scratch使用了舞台、角色概念,内置的人物、动物、玩具等对小孩还是很有吸引力的。小孩可以当做游戏来玩。在小孩还不能独立...

2020-06-20 22:59:27 17 0

原创 微信朋友圈关于H5/小程序广告转化行为数据接入说明文档

一、 API 方案介绍....................................................................................................................3 1、使用须知 ...............

2020-06-20 18:30:29 86 0

转载 Ubuntu16.04以太坊开发环境搭建

这里记录一下开发环境的搭建,方便以后再用。带*为可选。 Ubuntu16.04 安装ubuntu16.04。下载链接 git 之后的安装都需要依赖Git sudo add-apt-repository ppa:git-core/ppa sudo apt-get update sudo apt-ge...

2020-06-19 16:04:48 11 0

原创 如何实时生成缩略图?
原力计划

GraphicsMagick资料 ---------------------------------------------------------------------------- GraphicsMagick官网http://www.graphicsmagick.org GraphicsM...

2020-06-19 16:01:43 14 0

转载 apache整合tomcat部署集群

近日,由于公司项目需要,所以学习了apache整合tomcat以及集群的一些知识。   所以做下笔记日后回顾可以用到。   apache只有处理静态事物的能力, 而tomcat的强项就是处理动态的请求,所以apache和tomcat整合相互取长补短,由apache作为入口,如果是请求静态页面或者是...

2020-06-19 12:55:06 16 0

转载 win7,64位系统安装Tesseract和pytesseract,用python轻松实现中文识别,超全攻略!

OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程。 Tesseract:开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发...

2017-12-19 11:13:33 3393 0

转载 windows下安装AnyProxy抓取移动App Http请求

AnyProxy是阿里巴巴基于 Node.js 开发的一款开源代理服务器。做为中间代理服务器,它可以收集所有经过它的http请求流量(包括https明文内容);它提供了友好的web界面,便于直观的查看经过它的http请求;同时它支持二次开发,可以用javascript控制整个代理的全部流程,便于前...

2017-11-24 17:27:45 822 0

转载 Java操作 ActiveMQ 远程监控JMX设置

activemq.xml设置 第一个配置: 在你下载activemq文件夹下的config中,找到activemq.xml,在broker节点增加useJmx=”true” useJmx表示开启jmx监控 2.在managementContext节点更改 3.修改bin/...

2017-11-24 16:27:20 955 0

转载 使用JavaScript开发IE浏览器本地插件实例

这篇文章主要介绍了使用JavaScript开发IE浏览器本地插件实例,本文讲解使用JS+注册表的方式开发一个IE浏览器本地插件,需要的朋友可以参考下。 使用js开发的IE插件可以在当前浏览的页面中执行js代码,在此基础上实现任何用户可以想到的功能。 可以针对不用的网站做一些common处理...

2017-11-24 11:03:09 4569 0

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