Giter Site home page Giter Site logo

hexo.github.io's People

Contributors

yangzhiwen911 avatar

hexo.github.io's Issues

读书笔记-Tomcat容器结构 | 未知世界的秘密

https://yangzhiwen911.github.io/2019/04/04/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0-Tomcat%E5%AE%B9%E5%99%A8%E7%BB%93%E6%9E%84/#more

概述最近看了一本Java并发编程之美,里面对并发编程需要注意的点、常见并发类原理、各种锁之间的区别以及源码解读和实例代码等等讲解的都非常的详细,真正的好书,看到11.2小节Tomcat的NioEndPoint中ConcurrentlinkedQueue的使用的时候,里面对Tomcat容器结构的分析,我觉得非常有必要单独拿出来好好分享一下。刷新了自己对于Tomcat的认识。于是有了下面这个容器结构图

MySql导入Redis遇到的问题 | 未知世界的秘密

https://yangzhiwen911.github.io/2019/03/10/MySql%E5%AF%BC%E5%85%A5Redis%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/#more

概述众所周知,Redis是基于内存的单线程的缓存应用,Redis的服务端与客户端之间的通信采用了一种名为 RESP(REdis Serialization Protocol)的协议,而RESP底层采用的是TCP的连接方式(Socket),通过TCP进行数据传输,然后根据解析规则解析相应信息,完成交互。那么如果要从MySql中直接导入数据,也是可以做到的,原理则是组装RESP协议格式的数据即可。

Hexo部署到Github服务器 | You Jump I See You Jump

https://yangzhiwen911.github.io/2018/12/24/new-Day/#more

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。正常来说,不需要部署到我们的服务器上,我们的服务器上保存的,其实是基于在hexo通过markdown编写的文章,然后hexo帮我们生成静态的html页面,然后,将生成的html上传到我们的服务器。为了更加方便的实现本地到git服务器的部署同步问题,因此可

Jenkins自动化安装部署-权限配置(三) | 未知世界的秘密

https://yangzhiwen911.github.io/2019/02/10/Jenkins%E8%87%AA%E5%8A%A8%E5%8C%96%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2-%E6%9D%83%E9%99%90%E9%85%8D%E7%BD%AE%EF%BC%88%E4%B8%89%EF%BC%89/

权限配置Jenkins的权限配置很重要,尤其是项目团队比较多的时候,可以防止一些奇葩的程序员进行误操作,一般情况下,只有A项目组的人才可以构建和操作A项目的权限,其他项目组是看不到的。因此合理的配置Jenkins权限可以使其发挥更大的功效,避免操作额外的麻烦。

如何更高效的管理原生微服务应用 | You Jump I See You Jump

https://yangzhiwen911.github.io/2018/12/24/%E5%A6%82%E4%BD%95%E6%9B%B4%E9%AB%98%E6%95%88%E7%9A%84%E7%AE%A1%E7%90%86%E5%8E%9F%E7%94%9F%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%BA%94%E7%94%A8/#more

自从阿里重启Dubbo维护以来,其热度迅速蹿升,Github上的星标数已经达到了2.2万个之多,可谓**开源软件界的明星产品。但是作为自家商业化输出的EDAS产品,却一直以来只能支持闭源的HSF微服务框架,对用户而言不能不说是一种遗憾。虽然以前也是可以支持Dubbo应用的,但却是以一种所谓的Dubbo over HSF来变相实现的,并不是真正无侵入的原生应用。现在这个担忧终于没有了,EDAS官方正

Java的三种类加载器 | 未知世界的秘密

https://yangzhiwen911.github.io/2019/04/03/Java%E7%9A%84%E4%B8%89%E7%A7%8D%E7%B1%BB%E5%8A%A0%E8%BD%BD%E5%99%A8/#more

概述Java中类加载器的不同,那么对应的加载分工也不同,那种类加载器加载了哪些核心类库,这个可以根据加载路径以及父委托机制来说明。总体来说Java中的类加载器分为如下3个:引导类加载器(BootstrapClassLoader)、扩展类加载器(ExtClassLoader)、应用(系统)类加载器(AppClassLoader),具体介绍如下:

反编译遇到的相关指令问题 | 未知世界的秘密

https://yangzhiwen911.github.io/2019/03/31/%E5%8F%8D%E7%BC%96%E8%AF%91%E7%BB%8F%E5%B8%B8%E9%81%87%E5%88%B0%E7%9A%84Java%E6%8C%87%E4%BB%A4/#more

概述JVM用线程来执行方法,每个线程都包含一个线程栈,线程栈存放的是栈帧,每个栈帧都有自己的操作数栈和本地变量表。当一个方法被执行时候,首先会在栈顶push一个栈帧,栈帧的创建就需要指定操作数栈和本地变量表的大小。接下来方法的参数会被传入一个方法的本地变量表,本地变量表的访问采用下表索引的方式来访问,第0个位置会传入this(无参时候会调用自身实例,有参数则第1个位置会传入参数类型:如int,第2

CAS详解 | 未知世界的秘密

https://yangzhiwen911.github.io/2019/03/09/CAS%E8%AF%A6%E8%A7%A3/#more

概述提到CAS无锁机制,离不开sun.misc.Unsafe,Unsafe类,提供了JNI某些功能的简单替代,正常来说JAVA是不能直接访问操作系统底层的,而Unsafe类属于硬件级别的原子操作(操作系统的内存读取就是原子操作),进而达到通过本地方法来访问底层。但是Unsafe,字面意思就是不安全的,因为它所分配的内存需要手动释放(不被GC回收)。

JAVA线程池 | You Jump I See You Jump

https://yangzhiwen911.github.io/2019/02/24/JAVA%E7%BA%BF%E7%A8%8B%E6%B1%A0/#more

线程池概述java.util.concurrent.Executors提供了一个 java.util.concurrent.Executor接口的实现用于创建线程池多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 实现原理java线程池的实现原理很简单,说白了就是一个线程集合workerSet和一个阻塞队列workQueue。当用户向

面试核心问题汇总(持续更新) | 未知世界的秘密

https://yangzhiwen911.github.io/2019/02/25/%E9%9D%A2%E8%AF%95%E6%A0%B8%E5%BF%83%E9%97%AE%E9%A2%98%E6%B1%87%E6%80%BB/#more

基础扩展如何理解快速失败fail-fast fail-fast机制是java容器(Collection and Map都存在fail-fast机制)中的一种错误机制。在遍历一个容器对象时,当容器结构被修改,很有可能会抛出ConcurrentModificationException的,产生快速失败的。在以下两种情况下会导致快速失败,抛出ConcurrentModificationException

Mysql优化记录 | You Jump I See You Jump

https://yangzhiwen911.github.io/2019/02/14/Mysql%E4%BC%98%E5%8C%96%E8%AE%B0%E5%BD%95/#more

Mysql执行线程1、查看Mysql当前连接数 1show full processlist; statistics 状态的线程,表示正在计算统计数据,以制定一个查询执行计划。 如果一个线程很长一段时间处于这种状态,可能是磁盘绑定的,即磁盘IO性能很差,说到底就是数据库服务器IO遇到问题了,可以通过增加 buffer_pool 来缓存更多的数据,或者提高服务器IO能力,可能磁盘在执行其他工作。

MyCat 配置详解 | You Jump I See You Jump

https://yangzhiwen911.github.io/2018/12/28/hello-world/#more

MyCat是一款基于阿里开源产品Cobar而研发的开源数据库分库分表中间件(基于Java语言开发)。MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分

关于我 | You Jump I See You Jump

https://yangzhiwen911.github.io/about/

至今从事Java研发工作10年多,希望可以通过博客帮助到更多同行中不断前行的程序员。 武汉回收哥科技有限公司 主要负责公司项目框架搭建整合,数据库设计,应用服务器部署,自动化集成部署Jenkins(自动同步SVN服务器,打包编译,上传服务器,重启应用)的搭建和相关培训,制定并评估开发周期,跟踪项目进度,帮助解决程序员们开发中遇到的问题,和第三方接口对接,部署上线等。 上海科匠信息科技有限公司

JAVA 8新特性 | You Jump I See You Jump

https://yangzhiwen911.github.io/2019/02/21/JDK8%E6%96%B0%E7%89%B9%E6%80%A7/#more

Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。 新特性 Lambda 表达式 − Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。 方法引用 − 方法引用提供了非常有用的

JVM垃圾回收 | You Jump I See You Jump

https://yangzhiwen911.github.io/2019/02/23/JVM%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6/#more

垃圾回收GC (Garbage Collection)的基本原理:将内存中不再被使用的对象进行回收,GC中用于回收的方法称为收集器,由于GC需要消耗一些资源和时间,Java在对对象的生命周期特征进行分析后,按照新生代、旧生代的方式来对对象进行收集,以尽可能的缩短GC对应用造成的暂停。 JAVA中,GC通过确定对象是否被活动对象引用来确定是否收集该对象。目前主流的垃圾收集器都会采用分代回收算法,因此

Socket&NioSocket用法解析 | 未知世界的秘密

https://yangzhiwen911.github.io/2019/03/27/Socket-NioSocket%E7%94%A8%E6%B3%95%E8%A7%A3%E6%9E%90/#more

概述Java中的Socket可以分为普通Socket和NioSocket两种。 普通SocketJava中的网络通信是通过Socket实现的,Socket分为ServerSocket和Socket两大类,ServerSocket用于服务端,可以通过accept方法监听请求,监听到请求后返回Socket,Socket用于具体完成数据传输,客户端直接使用Socket发起请求并传输数据。 NioSo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.