自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java技术江湖

公号【Java技术江湖】 前阿里Java工程师,4年码龄。 专注分享Java技术干货文,偶尔也吹水吐槽聊人生。

  • 博客(731)
  • 收藏
  • 关注

转载 重新学习Mysql数据库5:根据MySQL索引原理进行分析与优化

一:Mysql原理与慢查询MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很...

2017-12-10 17:19:30 4592

转载 重新学习Mysql数据库2:『浅入浅出』MySQL 和 InnoDB

作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL、PostgreSQL,但是一直以来也没有对数据库有一个非常清晰并且成体系的认知,所以最近两个月的时间看了几本数据库相关的书籍并且阅读了 MySQL 的官方文档,希望对各位了解数据库的、不了解数据库的有所帮助。本文中对于数据库的介绍以及研究都是在 MySQL 上进行...

2017-12-10 17:18:48 2201 3

转载 重新学习Mysql数据库7:详解MyIsam与InnoDB引擎的锁实现

说到锁机制之前,先来看看Mysql的存储引擎,毕竟不同的引擎的锁机制也随着不同。三类常见引擎:MyIsam:不支持事务,不支持外键,所以访问速度快。锁机制是表锁,支持全文索引InnoDB:支持事务、支持外键,所以对比MyISAM,InnoDB的处理效率差一些,并要占更多的磁盘空间保留数据和索引。锁机制是行锁,不支持全文索引Memory:数据是存放在内存中...

2017-12-10 17:10:00 976

转载 深入理解JVM虚拟机3:垃圾回收器详解

转自 JavaDoopHotSpot JVM 垃圾回收器更新时间:2018-03-28关于 JVM 内存管理或者说垃圾收集,大家可能看过很多的文章了,笔者准备给大家总结下。这算是系列的第一篇,接下来一段时间会持续更新。本文主要是翻译《Memory Management in the Java HotSpot Virtual Machine》白皮书的前四章内容,这是 2006 的老文...

2017-12-10 12:02:37 3208 1

转载 深入理解JVM虚拟机4:Java class介绍与解析实践

用java解析class文件转自https://juejin.im/post/589834a20ce4630056097a56前言身为一个java程序员,怎么能不了解JVM呢,倘若想学习JVM,那就又必须要了解Class文件,Class之于虚拟机,就如鱼之于水,虚拟机因为Class而有了生命。《深入理解java虚拟机》中花了一整个章节来讲解Class文件,可是看完后,一直都还...

2017-11-01 16:33:20 1414

转载 深入理解JVM虚拟机5:虚拟机字节码执行引擎

虚拟机字节码执行引擎转自https://juejin.im/post/5abc97ff518825556a727e66所谓的「虚拟机字节码执行引擎」其实就是 JVM 根据 Class 文件中给出的字节码指令,基于栈解释器的一种执行机制。通俗点来说,也就是 JVM 解析字节码指令,输出运行结果的一个过程。接下来我们详细看看这部分内容。方法调用的本质在描述「字节码执行引擎」...

2017-10-31 16:13:22 1209 1

转载 深入理解JVM虚拟机6:深入理解JVM类加载机制

深入理解JVM类加载机制简述:虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。下面我们具体来看类加载的过程:类的生命周期类从被加载到内存中开始,到卸载出内存,经历了加载、连接、初始化、使用四个阶段,其中连接又包含了验证、准备、解析三个步骤。这些步骤总体上是按照图中顺序进行的,但是Java语言本...

2017-10-30 19:41:20 1508 1

转载 深入了解JVM虚拟机8:Java的编译期优化与运行期优化

java编译期优化java语言的编译期其实是一段不确定的操作过程,因为它可以分为三类编译过程:1.前端编译:把.java文件转变为.class文件2.后端编译:把字节码转变为机器码3.静态提前编译:直接把*.java文件编译成本地机器代码从JDK1.3开始,虚拟机设计团队就把对性能的优化集中到了后端的即时编译中,这样可以让那些不是由Javac产生的Class文件(如JRuby、Gr...

2017-10-30 19:38:53 1961

转载 深入理解JVM虚拟机7:JNDI,OSGI,Tomcat类加载器实现

打破双亲委派模型JNDIJNDI 的理解JNDI是 Java 命名与文件夹接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之中的一个,不少专家觉得,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。那么,JNDI究竟起什么作用?//带着问题看文章是最有效的要了解JN...

2017-10-30 15:51:40 1738 1

转载 深入理解JVM虚拟机9:JVM监控工具与诊断实践

转自https://juejin.im/post/59e6c1f26fb9a0451c397a8cjvm优化必知系列——监控工具这是jvm优化系列第二篇:jvm优化——垃圾回收通过上一篇的jvm垃圾回收知识,我们了解了jvm对内存分配以及垃圾回收是怎么来处理的。理论是指导实践的工具,有了理论指导,定位问题的时候,知识和经验是关键基础,数据可以为我们提供依据。在...

2017-10-30 15:34:01 1319

转载 深入理解JVM虚拟机10:JVM常用参数以及调优实践

转自http://www.rowkey.me/blog/2016/11/02/java-profile/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.ioJVM常用参数选项jvm 可配置的参数选项可以参考 Oracle 官方网站给出的相关信息:http://www.oracle.c...

2017-10-27 18:30:57 7495 1

转载 深入理解JVM虚拟机11:Java内存异常原理与实践

JVM系列之实战内存溢出异常实战内存溢出异常大家好,相信大部分Javaer在code时经常会遇到本地代码运行正常,但在生产环境偶尔会莫名其妙的报一些关于内存的异常,StackOverFlowError,OutOfMemoryError异常是最常见的。今天就基于上篇文章JVM系列之Java内存结构详解讲解的各个内存区域重点实战分析下内存溢出的情况。在此之前,我还是想多余累赘一些其他关于对象...

2017-10-27 18:09:04 1369

转载 重新学习Mysql数据库3:Mysql存储引擎与数据存储原理

转自:https://draveness.me/mysql-innodb作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL、PostgreSQL,但是一直以来也没有对数据库有一个非常清晰并且成体系的认知,所以最近两个月的时间看了几本数据库相关的书籍并且阅读了 MySQL 的官方文档,希望对各位了解数据库的、不了解...

2017-10-27 17:04:32 3435

转载 重新学习Mysql数据库4:Mysql索引实现原理

 MySQL索引类型一、简介MySQL目前主要有以下几种索引类型:1.普通索引2.唯一索引3.主键索引4.组合索引5.全文索引二、语句CREATE TABLE table_name[col_name data type][unique|fulltext][index|key][index_name](col_name[length])[asc|desc]1.u...

2017-10-27 16:30:09 1869

原创 重新学习MySQL数据库开篇:数据库的前世今生

数据库的前世今生小李的数据库之旅无纸化办公小李是这个大学计算机科学与技术系的知名学生,他的编程能力了得,使用Pascal 炉火纯青,这都是高中期间参加全国青少年信息学奥林匹克竞赛打下的底子, 虽然没有获过奖,但在80年代末,90年代初很多人都不知道计算机是何物的时候,人家就可以在上面写程序了, 是非常让人敬佩的事情。所以一入学,辅导员就找到小李让他帮忙给系里开发...

2017-10-27 11:08:20 3802 1

转载 重新学习Mysql数据库1:无废话MySQL入门

开始使用我下面所有的SQL语句是基于MySQL 5.6+运行。MySQL 为关系型数据库(Relational Database Management System),一个关系型数据库由一个或数个表格组成, 如图所示的一个表格: 表头(header): 每一列的名称; 列(col): 具有相同数据类型的数据的集合; 行(row): 每一行用来描述...

2017-10-24 17:48:19 2081

原创 计算机网络 自顶向下方法 第五章 链路层

计算机网络自顶向下--链路层本书结构是自顶向下的,所以请按下列顺序阅读:1.计算机网络自顶向下--应用层2.计算机网络自顶向下--运输层3.计算机网络自顶向下--网络层4.计算机网络自顶向下--链路层链路层链路层概述运行链路层协议的任何设备均称为结点,沿着通信路径连接相邻结点的通信信道称为链路。通过特定链路时,传输结点将数据报封装在链路层帧中,将该帧传入链路 举例:游客想...

2017-10-20 11:34:09 1977

原创 计算机网络 自顶向下方法 第四章 网络层

计算机网络自顶向下--网络层本书结构是自顶向下的,所以请按下列顺序阅读:1.计算机网络自顶向下--应用层2.计算机网络自顶向下--运输层3.计算机网络自顶向下--网络层4.计算机网络自顶向下--链路层网络层概述转发和路由选择 网络层的作用:将分组从一台发送主机移动到一台接收主机。需要两种功能: 转发:当一个分组到达路由器的一条输入链路时,路由器必须将该分组移动到...

2017-10-17 19:09:19 3738

原创 计算机网络 自顶向下方法 第三章 运输层

第三章 运输层第三章 运输层 1 概述和运输层服务 11 运输层和网络层的关系 12 因特网运输层概述 2 多路复用与多路分解 21 无连接的多路复用与多路分解 22 面向连接的多路复用与多路分解 3 无连接运输UDP 31 UDP 报文结构 32 UDP 检验和上图中的 checksum 4 可靠数据传输原理 41...

2017-10-11 17:51:55 2218

转载 重新学习MySQL数据库6:浅谈MySQL的中事务与锁

『浅入深出』MySQL 中事务的实现在关系型数据库中,事务的重要性不言而喻,只要对数据库稍有了解的人都知道事务具有 ACID 四个基本属性,而我们不知道的可能就是数据库是如何实现这四个属性的;在这篇文章中,我们将对事务的实现进行分析,尝试理解数据库是如何实现事务的,当然我们也会在文章中简单对 MySQL 中对 ACID 的实现进行简单的介绍。事务其实就是并发控制的基本单位;...

2017-10-10 20:53:06 2721

原创 计算机网络 自顶向下方法 第二章 应用层

计算机网络 自顶向下方法 第二章 应用层 分类:计算机网络-笔记(2) 版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]第二章 应用层Tags: 计算机网络2.1 应用层协议原理应用层协议只能运行在端系统,这种限制促进了应用程序的开发,即不用考虑底层网络核心的实现。2.1.1

2017-10-10 20:31:11 2843

转载 SpringMVC源码剖析5:消息转换器HttpMessageConverter与@ResponseBody注解

SpringMVC关于json、xml自动转换的原理研究[附带源码分析]目录前言 现象 源码分析 实例讲解 关于配置 总结 参考资料前言SpringMVC是目前主流的Web MVC框架之一。如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduc...

2017-09-26 17:23:35 1296 1

转载 SpringMVC源码分析6:SpringMVC的视图解析原理

SpringMVC视图机制详解[附带源码分析]目录前言重要接口和类介绍源码分析编码自定义的ViewResolver总结参考资料前言SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html本文将分析SpringMVC的视图...

2017-09-22 17:43:06 1593

转载 走进JavaWeb技术世界4:Servlet 工作原理详解

从本篇开始,正式进入Java核心技术内容的学习,首先介绍的就是Java web应用的核心规范servlet转自:https://www.ibm.com/developerworks/cn/java/j-lo-servlet/Servlet 容器的启动过程Tomcat7 也开始支持嵌入式功能,增加了一个启动类 org.apache.catalina.startup.Tomcat。创建一个...

2017-09-22 17:23:54 7718

转载 走进JavaWeb技术世界9:Java日志系统的诞生与发展

一个著名的日志系统是怎么设计出来的?、转载自:码农翻身1前言Java帝国在诞生之初就提供了集合、线程、IO、网络等常用功能,从C和C++领地那里吸引了大量程序员过来加盟,但是却有意无意地忽略了一个重要的功能: 输出日志。对于这一点,IO大臣其实非常清楚, 日志是个很重要的东西, 因为程序运行起来以后, 基本上就是一个黑盒子,如果程序的行为和预料的不一致,那就是出现B...

2017-09-21 15:39:12 6600

转载 走进JavaWeb技术世界10:从JavaBean讲到Spring

Java 帝国之Java bean (上)转自:刘欣码农翻身2016-05-27前言: 最近看到到spring 的bean 配置, 突然想到可能很多人不一定知道这个叫bean的东西的来龙去脉, 所以就写个文章来讲一下。另外,上次出了开源中国抄袭事件, 为了防止转载以后我的公众号信息被故意删除, 我在文章的内容中加上了一些 刘欣(微信公众号:码农翻身) 这样的字样, 可能会造...

2017-09-21 14:33:55 6578

转载 走进JavaWeb技术世界11:单元测试框架Junit

JUnit你不知道的那些事儿转自 老刘码农翻身2016-02-24话说有一次Eric Gamma 坐飞机的时候偶遇Kent Beck(对,就是极限编程和TDD的发起人) , 两位大牛见面寒暄过以后就觉得很无聊了。旅途漫漫,干点啥好呢。Kent Beck当时力推测试驱动开发, 但是没有一个工具或者框架能让大家轻松愉快的写测试,并且自动的运行测试。两人勾兑了一下:不如...

2017-09-21 11:34:36 7167

转载 走进JavaWeb技术世界12:从手动编译打包到项目构建工具Maven

小李的Build之路(上)转自:刘欣码农翻身2016-07-10摘要:手工Build的烦恼要不是为了和女朋友留在一个城市,小李肯定去北上广奋斗去了。现在他只能留在这个2.5线城市,进入这家软件开发公司,7,8个人,10来条枪,是个典型的软件小作坊。上班第一天,CTO兼架构师兼项目经理兼开发组长老张把小李叫去,谆谆教导说:“小李啊,我看了你的简历,我对你在公司的发展还是挺看好的,...

2017-09-19 19:55:59 8807

转载 走进JavaWeb技术世界13:Hibernate入门经典与注解式开发

Hibernate入门这一篇就够了前言本博文主要讲解介绍Hibernate框架,ORM的概念和Hibernate入门,相信你们看了就会使用Hibernate了!什么是Hibernate框架?Hibernate是一种ORM框架,全称为 Object_Relative DateBase-Mapping,在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象!...

2017-09-19 19:51:40 5834

转载 走进JavaWeb技术世界14:通过项目逐步深入了解Mybatis(一)

通过项目逐步深入了解Mybatis(一)2017-06-12文章导航Mybatis 和 SpringMVC 通过订单商品案例驱动官方中文地址:http://www.mybatis.org/mybatis-3/zh/官方托管地址:https://github.com/mybatis/mybatis-3本项目全部代码地址:https://github.com/zhishe...

2017-09-19 19:28:46 6322

转载 深入JavaWeb技术世界15:通过项目逐步深入了解Mybatis(二)

转自http://www.54tianzhisheng.cn/2017/06/13Mybatis 解决 jdbc 编程的问题1、 数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。解决:在SqlMapConfig.xml中配置数据链接池,使用连接池管理数据库链接。2、 Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大...

2017-09-19 10:48:30 772

转载 让机器读懂用户——大数据中的用户画像

让机器读懂用户——大数据中的用户画像摘要: 用户画像(persona)的概念最早由交互设计之父Alan Cooper提出:“Personas are a concrete representation of target users.” 是指真实用户的虚拟代表,是建立在一系列属性数据之上的目标用户模型。随着互联网的发展,现在我们说的用户画像又包含了新的内涵——通常用户画像是根据用户人口学特征、...

2017-09-15 18:06:29 996

原创 搜索引擎和知识图谱那些事

搜索引擎和知识图谱那些事分类:知识图谱(14)版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习,一起进步~目录(?)[+] 这是一篇基础性文章,主要介绍搜索引擎和知识图谱的一些原理、发展经历和应用等知识。希望文章对你有所帮助~如果有错误或不足之处,还请海涵。(参考资料见后)一. 搜索引擎(一).搜索引擎的四个时代 ...

2017-09-15 17:41:25 16620

转载 快速了解什么是自然语言处理

快速了解什么是自然语言处理摘要:自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学等于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能

2017-09-15 17:22:05 1180

转载 走进JavaWeb技术世界16:极简配置的SpringBoot

SpringBoot详解(一)-快速入门SpringBoot详解系列文章:SpringBoot详解(一)-快速入门SpringBoot详解(二)-Spring Boot的核心SpringBoot详解(三)-Spring Boot的web开发SpringBoot详解(四)-优雅地处理日志一、Spring Boot久闻Spring Boot大名,这两天终于得空,学习了一把,发觉Spring Boot确...

2017-09-15 17:21:17 1101

转载 深入理解JVM虚拟机1:JVM内存的结构与永久代的消失

所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解JVM内存也是为了服务器出现性能问题的时候可以快速的了解那块的内存区域出现问题,以便于快速的解决生产故障。先看一张图,这张图能很清晰的说明JVM内存结构布局。...

2017-09-15 16:43:32 2227

原创 深入理解JVM虚拟机开篇:JVM介绍与知识脉络梳理

完整内容欢迎阅读我的博客专栏:深入理解JVM虚拟机转自:https://mp.weixin.qq.com/s/EjVfk1iOuQUjLfPxt_DJ7Q是大名鼎鼎的Java 虚拟机, 据说这个星球上每天有900多万程序员和我打交道,这真是一个惊人的数字。 这900多万人中不少人对我的技术内幕非常感兴趣, 有事儿没事儿都要把我“大卸八块”, 深入了解一下。甚至还有人从我...

2017-09-15 16:14:26 4424

转载 深入理解JVM虚拟机2:JVM垃圾回收基本原理和算法

  JVM GC基本原理与GC算法 Java的内存分配与回收全部由JVM垃圾回收进程自动完成。与C语言不同,Java开发者不需要自己编写代码实现垃圾回收。这是Java深受大家欢迎的众多特性之一,能够帮助程序员更好地编写Java程序。下面四篇教程是了解Java 垃圾回收(GC)的基础:垃圾回收简介 圾回收是如何工作的? 垃圾回收的类别这篇教程是系列第一部分。首先会解释基...

2017-09-14 16:04:43 1956

转载 走进JavaWeb技术世界1:Web后端与J2EE的由来

后端程序员都干些什么转自:微信公众号 码农翻身这个问题来自于QQ网友,一句两句说不清楚,索性写个文章。我刚开始做Web开发的时候,根本没有前端,后端之说。原因很简单,那个时候服务器端的代码就是一切:接受浏览器的请求,实现业务逻辑,访问数据库,用JSP生成HTML,然后发送给浏览器。即使后来Javascript在浏览器中添加了一些AJAX的效果,那也...

2017-08-29 16:13:36 9811 1

转载 走进JavaWeb技术世界3:JDBC的进化与连接池技术

网络访问随着 Oracle, Sybase, SQL Server ,DB2, Mysql 等人陆陆续续住进数据库村, 这里呈现出一片兴旺发达的景象, 无数的程序在村里忙忙碌碌, 读写数据库, 实际上一个村落已经容不下这么多人了, 数据库村变成了数据镇。这一天, 数据库镇发生了一件大事: 它连上了网络!外部的花花世界一下全部打开, 很多程序开始离开这个拥挤...

2017-08-29 14:43:13 7703

空空如也

空空如也

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

TA关注的人

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