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

原创 老板想要逼你走的四种方式,一个比一个狠!你中招了吗?

2019,瞿山上周听朋友说,他们公司今年的主动离职率创了五年来的新低,几乎没人主动离职,问我公司是不是也这样?我说,是的,虽然感觉看机会的不少,但实际主动离职的几乎为零。他又问,你们有没有主动淘汰的指标要求?我说,有啊,中美贸易战,行情变得不一样了,金融业首当其冲,通过节流来压低开支也在情理之中。他说,从今年年初起,因受外部环境影响,他的公司进入瓶颈期,业务开始收缩,人员开始出现闲置,于是公司启动...

2019-08-28 16:49:26 361

原创 MySQL 分区分表应用场景分析和分区中可能遇到的坑点

MySQL的分区和分表应用场景分析在日常工作中当我们的某张表的数据量过大的时候,首当其冲的可能就是进行分区和分表,但是是如何分区或者分表都要结合一点的业务场景下进行分析,才会显著的提升性能,来聊一聊大家都在什么样的场景下做过怎么样的操作吧。一、分表的前世今生MySQL5.0以前版本存在单表行数的性能下降拐点,以经典的MySQL4.17或MySQL3.23为例,那个特定年代的存储引擎主要是ISAM或...

2019-08-28 16:09:52 497

原创 Spring 十个错误的使用姿势!

1、错误一:太过关注底层我们正在解决这个常见错误,是因为 “非我所创” 综合症在软件开发领域很是常见。症状包括经常重写一些常见的代码,很多开发人员都有这种症状。虽然理解特定库的内部结构及其实现,在很大程度上是好的并且很有必要的(也可以是一个很好的学习过程),但作为软件工程师,不断地处理相同的底层实现细节对个人的开发生涯是有害的。像 Spring 这种抽象框架的存在是有原因的,它将你从重复地手工劳作...

2019-08-28 15:08:59 120

原创 细说 Java Overload 与 Override 差别

Java 编程五年多,我自以为已经熟谙 Overload 和 Override 背后的工作机制。当开始思考和记录下面这些案例时,才意识到我对它们的了解并不像自己想象的那样。为了让内容更有趣,下面会把它们列为一系列谜题,同时也提供了答案。如果你能不偷看做出所有答案,我会对你刮目相看。1. 单一分派给定下面两个类:class Parent { void print(String a) { log....

2019-08-28 11:40:24 159

原创 12 个酷炫的 IntelliJ IDEA 插件,你确定你还不收藏吗?

今天介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能体现我们的与众不同。1.插件的安装打开setting文件选择Plugins选项Ctrl + Alt + S File -> Setting分别是安装JetBrains插件,第三方插件,本地已下载的插件包。详情见往期关于settings的文章。2.各种插件#1. a...

2019-08-27 10:08:09 370

原创 IntelliJ IDEA 最常用配置详细图解

刚刚使用IntelliJ IDEA 编辑器的时候,会有很多设置,会方便以后的开发,磨刀不误砍柴工。比如:设置文件字体大小,代码自动完成提示,版本管理,本地代码历史,自动导入包,修改注释,修改tab的显示的数量和行数,打开项目方式,等等一大堆东西。总结一下,免得下次换了系统,还得再找一遍配置。设置外观和字体大小这个呢是设置一下外观。和字体大小。放在第一个没问题。设...

2019-08-27 10:05:34 264

原创 理解 IntelliJ IDEA 的项目配置和 Web 部署

1、项目配置的理解IDEA 中最重要的各种设置项,就是这个 Project Structre 了,关乎你的项目运行,缺胳膊少腿都不行。最近公司正好也是用之前自己比较熟悉的IDEA而不是Eclipse,为了更深入理解和使用,就找来各种资料再研究一下,这里整理后来个输出。1.1 ProjectProject name:定义项目的名称; Project SD...

2019-08-27 10:04:02 176

转载 用了这么久 IDEA,你竟然不知道有个功能叫自动补全

IDEA 有个很牛逼的功能,那就是后缀补全(不是自动补全),很多人竟然不知道这个操作,还在手动敲代码。这个功能可以使用代码补全来模板式地补全语句,如遍历循环语句(for、foreach)、使用 String.format() 包裹一个字符串、使用类型转化包裹一个表达式、根据判(非)空或者其它判别语句生成 if 语句、用 instanceOf 生成分支判断语句等。使用的方式也很简单,就是在一...

2019-08-27 10:03:09 967

原创 Netty 实战:如何编写一个麻小俱全的 web 容器

学习 Netty 也有一段时间了,为了更好的掌握 Netty,我手动造了轮子,一个基于 Netty 的 web 容器:redant,中文叫红火蚁。创建这个项目的目的主要是学习使用 Netty,俗话说不要轻易的造轮子,但是通过造轮子我们可以学到很多优秀开源框架的设计思路,编写优美的代码,更好的提升自己。PS:项目地址:https://github.com/all4you/redant快速启动...

2019-08-26 15:29:36 156

原创 程序员真是太太太太太有趣了!!!

各位程序员大佬们,请让我听到你们的声音!不管你是前端开发、后端研发、测试开发、移动端开发、全栈工程师、运维工程师、网络工程师、架构师、研发经理还是其他职位,不管你在做Android开发 、iOS开发、U3D 、COCOS2DX、 自动化测试、功能测试、性能测试、白盒测试、灰盒测试、黑盒测试、ETL、数据仓库、数据开发、数据挖掘、数据分析、数据架构、算法研究、精准推荐、分布式、系统集成、地图引擎、人...

2019-08-23 15:07:14 120

原创 从MySQL高可用架构看高可用架构设计

高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。假设系统一直能够提供服务,我们说系统的可用性是100%。如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%。很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的年停机时间为8.76个小时。百度的搜索首页,是业...

2019-08-23 14:35:54 116

原创 祖传代码,轻则伤筋动骨,重则一命呜呼

近日,有个话题在论坛上引起了热议,新入职的程序员吐槽老程序员代码写的跟“屎”一样,这一下子在论坛上热议,要知道老程序员资历老肯定比一些新程序员操作起来更厉害。有人就说,新程序员初来乍到,自以为是,等用久了就会发现这坨“屎”还挺香的,毕竟每个人都是这样过来的,虽然新程序员比老程序员年轻思想跳跃会高些,但有些保守的程序还是得老的来。为什么这些代码能存活那么久,自然有它的道理,不信你试试更改或者删除,你...

2019-08-23 11:38:33 112

原创 4次版本迭代,我们将项目性能提升了360倍!

一直不知道性能优化都要做些什么,从哪方面思考,直到最近接手了一个公司的小项目,可谓麻雀虽小五脏俱全。让我这个编程小白学到了很多性能优化的知识,或者说一些思考方式。真的感受到任何一点效率的损失放大一定倍数时,将会是天文数字。最初我的程序计算下来需要跑2个月才能跑完,经过2周不断地调整架构和细节,将性能提升到了4小时完成。  很多心得体会,希望和大家分享,也希望多多批评指正,共同进步。项目描述我将公司...

2019-08-23 09:54:18 186

原创 挑战10个最难回答的Java面试题(附答案)

这是我收集的10个最棘手的Java面试问题列表。这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题。你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java 知识,但这些问题都是容易在各种 Java 面试中被问到的,而且包括我的朋友和同事在内的许多程序员都觉得很难回答。1.为什么等待和通知是在 Object 类而不是 Thread 中声明的?一个棘手的...

2019-08-21 17:51:55 323

原创 用Java实现JVM第八章《数组和字符串》

案例介绍本章主要介绍如何实现让虚拟机处理数组和字符串,在虚拟机功能增强后,我们可以执行数组类型计算和输出字符串。本章需要新增实现数组指令;newarray、anewarray、arraylength、aload、astore、multianewarray、ldc,同时需要需要开发字符串池方法等。数组在Java虚拟机中是给比较特殊的概念,主要有以下原因;首先,数组类和普通的类是不同的。普通的类从cl...

2019-08-16 10:51:09 186

原创 用Java实现JVM第七章《方法调用和返回》

案例介绍本章节主要用java实现;方法调用指令、返回指令、解析方法符号引用、参数传递等。实现新的指令后我们的虚拟机就可以执行稍微复杂的运算并输出结果。从调用的角度来看,方法可以分为两类:静态方法(或者类方法)和实例方法。静态方法通过类类调用,实例方法则通过对象引用来调用。静态方法是静态绑定的,也就是说,最终调用的是哪给方法在编译期就已经确定。实例方法则支持动态绑定,最终要调用哪给方法可能要推迟到运...

2019-08-16 10:26:00 182

原创 用Java实现JVM第六章《类和对象》

案例介绍本案例通过java代码实现jvm规范中指令集和解释器,完成后就可以开始执行1到100的加和计算。Java虚拟机顾名思义,就是一台虚拟的机器,而字节码(bytecode)就是运行在这台虚拟机器上的机器码。我们已经知道,每一个类或者接口都会被Java编译器编译成一个class文件,类或接口的方法信息就放在class文件的method_info结构中。如果方法不是抽象的,也不是本地方法,方法的J...

2019-08-16 10:08:20 102

原创 这个是考点:Java反射机制

反射的定义JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要获取一个类,必须先要获取到该类的字节码文件对象。而获取使用的就是Class类中的方法,所以先要获取到每一个字节码文件对应的Class类型的对象。反射就是把java类中的各种成分映射...

2019-08-14 16:29:58 97

原创 Java程序员面试之前要准备的那些事

先说一下关于工作简历的一些常见的问题,这是最基础的一步,万事开头难,写好简历就是求职路上最简单也是最关键的一步,一份好的简历不但可以让你从众多简历中脱颖而出,还能够让公司的人事对你的印象深刻。问题一,怎么写简历?对于刚刚毕业的应届生来说,写简历是一件令人头疼的事情,因为根本就不知道该如何去写简历,写什么。这个时候,就需要找老师或者学长学姐来帮忙,问他们写好简历都需要注意一些什么事项。最好是从他们手...

2019-08-14 16:22:47 145

原创 Spring 常犯的十大错误,这坑你踩过吗?

Spring 可以说是最流行的 Java 框架之一,也是一只需要驯服的强大野兽。虽然它的基本概念相当容易掌握,但成为一名强大的 Spring 开发者仍需要很多时间和努力。在本文中,我们将介绍 Spring 中一些常见的错误,特别是面向 Web 应用程序和 Spring Boot。正如 Spring Boot 官网 所说,Spring Boot 对应该如何构建 Production-Ready 的应...

2019-08-12 19:45:48 257

原创 还敢随便说你知道 Java 类是如何被加载的吗?

前言最近给一个非Java方向的朋友讲了下双亲委派模型,朋友让我写篇文章深度研究下JVM的ClassLoader,我确实也好久没写JVM相关的文章了,有点手痒痒,涂了皮炎平也抑制不住。我在向朋友解释的时候是这么说的:双亲委派模型中,ClassLoader在加载类的时候,会先交由它的父ClassLoader加载,只有当父ClassLoader加载失败的情况下,才会尝试自己去加载。这样可以实现部分类的复...

2019-08-07 16:42:29 98

原创 Java程序员,最常用的20%技术有哪些?

我听说编程语言,经常使用的是其中20%的技术。在Java这门语言中,这20%包括哪些内容?参加培训两个月了,还有两个月的时间,要 想在两个月后,找到一份Java初级程序员的工作,有哪些是必须掌握的,有哪些是可以现学现卖的?一个完整的Javaweb项目,有哪些具体模块,每个模 块用到的技术是哪些?常用api(String,StringBuffer/StringBuilder等)集合类,线程类。Ser...

2019-08-07 16:22:38 126

原创 2019年8月数据库流行度排行:双星闪耀 MySQL 成月度最大赢家

炎炎夏日,DB-Engines 的8月榜单已经发布,本月积分 MySQL 获得了最显著的增长,较上月增加了 24分,Oracle 获得了 18 分的增长,Oracle 公司的两个王牌产品,闪耀 8月。以下是前10名的榜单:在前10名中,除了 Oracle 和 MySQL 之外,其余产品的波动不大,但是前10名中有 6 个产品出现下跌,我们将此归结为季节性因素,历年夏日总是一个蛰伏的时期。从前三名的...

2019-08-07 10:27:39 101

原创 Shiro权限管理框架(三):Shiro中权限过滤器的初始化流程和实现原理

初始化流程ShiroFilterFactoryBean实现了FactoryBean接口,那么Spring在初始化的时候必然会调用ShiroFilterFactoryBean的getObject()获取实例,而ShiroFilterFactoryBean也在此时做了一系列初始化操作。关于FactoryBean的介绍和实现方式另外也记了一篇:https://www.guitu18.com/post/2...

2019-08-07 09:52:57 271

原创 第13本书 所有Java程序员都应该看看!

当你开始学习Java时,选择一本好书作为入门老师是很有必要的。Java书籍有以下两点重要因素能让你快速达成:1:书籍撰稿人均由权威的业界大咖进行撰写。2:书籍对于Java内容的描述更加详细更加明确,并且培养你的逻辑习惯。01Head First JavaHead First Java是很多Java初学者最适合的书籍之一,轻松和寓教于乐的Head First风格让人阅读起来很舒服,是关于Java的书...

2019-08-03 10:36:58 146

原创 用Java实现JVM第五章《指令集和解释器》

案例介绍本案例通过java代码实现jvm规范中指令集和解释器,完成后就可以开始执行1到100的加和计算。Java虚拟机顾名思义,就是一台虚拟的机器,而字节码(bytecode)就是运行在这台虚拟机器上的机器码。我们已经知道,每一个类或者接口都会被Java编译器编译成一个class文件,类或接口的方法信息就放在class文件的method_info结构中。如果方法不是抽象的,也不是本地方法,方法的J...

2019-08-03 09:33:53 109

原创 用Java实现JVM第四章《运行时数据区》

案例介绍本案例初步实现运行时数据区里;线程、Java虚拟机栈、帧、操作数栈、局部变量表在运行Java程序时,Java虚拟机需要使用内存来存放各种各样的数据。Java虚拟机规范把这些内存区域叫作运行时数据区。运行时数据区可以分为两类:一类是多线程共享的,另一类则是线程私有的。多线程共享的运行时数据区需要在Java虚拟机启动时创建好在Java虚拟机推出时销毁。线程私有的运行时数据区则在创建线程时才创建...

2019-08-03 09:33:28 110

原创 用Java实现JVM第三章《解析class文件》

案例介绍本案例主要介绍通过java代码从class文件中解析;class文件、常量池、属性表;作为类(或者接口)信息的载体,每个class文件都完整地定义了一个类。为了使java程序可以“编写一次,处处运行”,Java虚拟机规范对class文件格式进行了严格的规定。但是另外一方面,对于从哪里加载class文件,给了足够多的自由。Java虚拟机实现可以从文件系统读取和从JAR(或ZIP)压缩包中提取...

2019-08-03 09:30:58 127

原创 用Java实现JVM第二章《搜索class文件》

案例简述本章节主要了解Java虚拟机从哪里寻找class文件并且读取class内字节码环境准备1、jdk 1.8.02、IntelliJ IDEA Community Edition 2018.3.1 x643、Notepad++ (插件安装HEX-Editor,用于查看class字节)配置信息1、调试配置2.1、配置位置:Run/Debug Configurations -> progra...

2019-08-02 15:41:33 123

原创 Mysql查询语句优化

前言上一篇文章 《MySQL索引原理机器优化》讲了索引的一些原理以及优化方案,这一次学习对查询的优化,毕竟快速的查找到数据才是我们的最终目的.分析查询想要对一条查询语句进行优化,首先要对其进行分析,MySQL提供了这个机制, 可以通过explain sql或者desc sql的语法去获取MySQL对某一条语句的执行计划(MySQL优化之后的),explain的用法这里就不再赘述了,在另外一篇文章中...

2019-08-02 14:57:17 200

原创 Mysql索引原理及其优化

前言网上都说学会mysql需要学会两个部分,索引和事务,其实在最近的Mysql学习过程中,我觉得应该是有三个部分的,索引,查询,事务.其中的查询主要是指查询优化即编写高效率的SQL语句.本文记录一下学习MySQL的索引过程中的一些知识.主要为阅读《高性能MySQL》的一些理解和扩展.什么是索引索引是存储引擎用于快速找到记录的一种数据结构.这是MySQL官方对于索引的定义,可以看到索引是一种数据结构...

2019-08-02 14:52:59 98

原创 [灵魂拷问]MySQL面试高频一百问(工程师方向)

前言本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水. 前一阵系统的学习了一下MySQL,也有一些实际操作经验,偶然看到一篇和MySQL相关的面试文章,发现其中的一些问题自己也回答不好,虽然知识点大部分都知道,但是无法将知识串联起来.因此决定搞一个MySQL灵魂100问,试着用回答问题的方式,让自己对知识点的理解更加深入一点.索引相关1. 什么...

2019-08-02 14:27:45 112

原创 Java究竟为什么需要 JVM?

JVM,Java Virtual Machine,中文就是Java虚拟机了, 和名字一样就是个虚拟机器,来模拟通用的计算机,有着一套虚拟的完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。 JVM是一种规定好的标准规范, 定义了.class文件在其内部运行的相关标准和规范。一般来讲,所有的JVM都是基于栈结构的运行方式。那么不符合这种要求的,不算是JVM, 如Android中所使用的...

2019-08-02 11:40:23 300

原创 Shiro权限管理框架(一):Shiro的基本使用

其实关于Shiro的一些学习笔记很早就该写了,因为懒癌和拖延症晚期一直没有落实,直到今天公司的一个项目碰到了在集群环境的单点登录频繁掉线的问题,为了解决这个问题,Shiro相关的文档和教程没少翻。最后问题解决了,但我觉得我也是时候来做一波Shiro学习笔记了。先给自己定个博客计划吧,不然很可能又要难产了。本次预计的篇幅量在三篇,第一篇先记录一下Shiro的基本使用,第二篇写一下基于Shiro实现的...

2019-08-01 15:28:34 308

原创 Shiro权限管理框架(二):Shiro结合Redis实现分布式环境下的Session共享

其实关于Shiro的一些学习笔记很早就该写了,因为懒癌和拖延症晚期一直没有落实,直到今天公司的一个项目碰到了在集群环境的单点登录频繁掉线的问题,为了解决这个问题,Shiro相关的文档和教程没少翻。最后问题解决了,但我觉得我也是时候来做一波Shiro学习笔记了。本篇是Shiro系列第二篇,使用Shiro基于Redis实现分布式环境下的Session共享。在讲Session共享之前先说一下为什么要做S...

2019-08-01 15:28:01 153

空空如也

空空如也

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

TA关注的人

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