<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lihbj的博客]]></title><description><![CDATA[学习是一个过程  需要慢慢积累]]></description><link>https://blog.youkuaiyun.com/u013268969</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u013268969]]></copyright><item><title><![CDATA[JVM性能篇之垃圾回收机制]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/106122871</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/106122871</guid><author>u013268969</author><pubDate>Thu, 14 May 2020 16:34:19 +0800</pubDate><description><![CDATA[垃圾回收机制
自动垃圾收集
自动垃圾收集是查看堆内存，识别正在使用哪些对象以及哪些对象未被删除以及未使用对象的过程。
使用中的对象或引用的对象意味着程序的某些部分仍然维护指向该对象的指针。
程序的任何部分都不再引用未使用的对象或未引用的对象，因此可以回收未引用对象使用的内存。
像C这样的编程语言中，分配和释放内存是一个手动过程。
在java中，解除分配内存的过程由垃圾收集器自动处理。
如何确定内存需要被回收
该过程的第一步称为标记。这是垃圾收集器识别哪些内存正在使用而哪些不在使用的地方。
[外链图片转存失败]]></description><category></category></item><item><title><![CDATA[JVM性能篇之类加载机制]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/106122691</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/106122691</guid><author>u013268969</author><pubDate>Thu, 14 May 2020 16:29:17 +0800</pubDate><description><![CDATA[类加载机制
运行时数据区

类生命周期

类加载器
类加载器负责装入类，搜索网络、jar、zip、文件夹、二进制数据、内存等指定位置的类资源。
一个java程序运行，最少有三个类加载器实例，负责不同类的加载。

验证问题：

查看类对应的加载器
JVM如何知道我们的类在何方
类不会重复加载
类的卸载
双亲委派模型

查看类对应的加载器

/**
 * 查看类的加载器实例
 */
public class ClassLoaderView {
    public static void main(String]]></description><category></category></item><item><title><![CDATA[高并发网络编程之NIO非阻塞网络编程]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/106122551</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/106122551</guid><author>u013268969</author><pubDate>Thu, 14 May 2020 16:21:33 +0800</pubDate><description><![CDATA[NIO非阻塞网络编程
始于Java1.4，提供了新的JAVA IO操作非阻塞API。用意是替代Java IO和Java Networking相关的API。
三个核心组件：

Buffer缓冲区
Channel通道
Selector选择器

Buffer缓冲区
缓冲区本质上是一个可以写入数据的内存块（类似数组），然后可以再次读取。此内存块包含在NIO Buffer对象中，该对象提供了一组方法，可以更轻松地使用内存块。
相比较直接对数组的操作，Buffer API更加容易操作和管理。
使用Buffer进行数据写]]></description><category></category></item><item><title><![CDATA[多线程并发编程之Synchronized原理解析]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/104989754</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/104989754</guid><author>u013268969</author><pubDate>Fri, 20 Mar 2020 14:36:18 +0800</pubDate><description><![CDATA[Synchronized原理解析
synchronized(this) {
    i++;
}

思考这三个问题？

this对象加锁的状态如何记录？
状态被记录到this对象里面了吗？
若锁占用，线程挂起；释放锁时，唤醒挂起的线程，是如何做到的？

堆中对象的存储
代码示例：
public class Demo5_main {

    public static void main(Stri...]]></description><category></category></item><item><title><![CDATA[JAVA内存模型 VS JVM运行时数据区]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/104652440</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/104652440</guid><author>u013268969</author><pubDate>Wed, 04 Mar 2020 14:48:44 +0800</pubDate><description><![CDATA[JVM运行时数据区


线程共享：所有线程能访问这块内存数据，随虚拟机或者GC而创建和销毁
线程独占：每个线程都会有他独立的空间，随线程生命周期而创建和销毁


线程共享部分又包含方法区和堆内存


方法区：用来存放类信息、常量、静态变量、编译后的代码等数据，虚拟机规范中这是一个逻辑划分，具体实现根据不同的虚拟机来实现。比如oracle的Hotspot虚拟机在java7中放在永久代，java8...]]></description><category></category></item><item><title><![CDATA[Nginx配置技巧]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/100692749</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/100692749</guid><author>u013268969</author><pubDate>Tue, 10 Sep 2019 11:05:51 +0800</pubDate><description><![CDATA[本文记录了一些nginx作为反向代理和文件服务器的配置技巧和解决方案

Nginx作为文件服务

避免浏览器自动播放文件

有时对于图片、视频，浏览器会视能力，自动为用户显示或播放。这主要是由于Web服务器在返回文件本身数据的同时，返回了一些特殊的MIME类型，比如：image/jpeg（JPEG图像）,application/pdf（PDF文档）,video/mpeg（MPEG动画）。这些MIM...]]></description><category></category></item><item><title><![CDATA[Spring学习笔记]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/90634493</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/90634493</guid><author>u013268969</author><pubDate>Tue, 28 May 2019 10:31:40 +0800</pubDate><description><![CDATA[好记忆不如烂笔头, 能记下点什么, 就记下点什么, 方便后期的巩固

Spring介绍

Spring 是一个开源框架，是一个分层的 JavaEE 一站式框架。

所谓一站式框架是指 Spring 有 JavaEE 开发的每一层解决方案。


	WEB层：SpringMVC
	
	
	Service层：Spring的Bean管理，声明式事务
	
	
	DAO层：Spring的JDBC模板，ORM模...]]></description><category></category></item><item><title><![CDATA[JAVA多线程基础]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/89361233</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/89361233</guid><author>u013268969</author><pubDate>Wed, 17 Apr 2019 17:54:07 +0800</pubDate><description><![CDATA[什么是线程：
--线程是进程内的执行单元，是进程里面更小的调度单元
进程的切换是非常重量级的操作

java当中建立了一个线程，会同等的映射到操作系统层面，所以跟操作系统上的线程是等价的


线程的基本操作
新建线程：
Thread t1 = new Thread();       Thread t1 = new Thread();
t1.start();    ...]]></description><category></category></item><item><title><![CDATA[linux下svn的安装部署配置]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/89332888</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/89332888</guid><author>u013268969</author><pubDate>Tue, 16 Apr 2019 14:35:50 +0800</pubDate><description><![CDATA[准备操作系统并查看系统版本
# cat /etc/redhat-release

# uname -m

# uname -r

安装svn
检查程序是否安装：
# rpm -aq subversion
如果没有安装，则需要执行下面命令安装
# yum -y install subversion
补：yum安装rpm包安装后本机不清除的方法
# sed -i 's#keepcache=0#keep...]]></description><category></category></item><item><title><![CDATA[SVN基本介绍]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/89157221</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/89157221</guid><author>u013268969</author><pubDate>Tue, 09 Apr 2019 18:10:31 +0800</pubDate><description><![CDATA[svn（subversion） 是一个跨平台的开源的版本控制系统
数据放在一个中央资料档案库中，像普通的文件服务器或者FTP服务器
会备份并记录每个文件每一次的修改更新变动。

SVN相关站点：
http://subversion.tigris.org/
http://subversion.apache.org/
svv客户端：http://www.tortoisesvn.net/


常见版本...]]></description><category></category></item><item><title><![CDATA[linux下jdk的安装（两种方式）]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/82115895</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/82115895</guid><author>u013268969</author><pubDate>Mon, 27 Aug 2018 17:06:47 +0800</pubDate><description><![CDATA[两种方式：

第一种：使用yum方式安装jdk

1.查看yum中管理的可用的JDK软件包列表：

yum search java | grep -i --color JDK

结果如下图所示：



 

2.选择合适版本，安装jdk，本人选择的是java-1.8.0-openjdk-devel.x86_64

yum install java-1.8.0-openjdk-devel.x86_6...]]></description><category></category></item><item><title><![CDATA[linux下安装mysql]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/82115051</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/82115051</guid><author>u013268969</author><pubDate>Mon, 27 Aug 2018 16:35:19 +0800</pubDate><description><![CDATA[一个十分简单的安装方式

安装

# yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

# yum info mysql-community-server # yum -y install mysql-community-server

# vi /etc/my.cnf

charac...]]></description><category></category></item><item><title><![CDATA[安装CentOS后的基本配置]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/82114796</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/82114796</guid><author>u013268969</author><pubDate>Mon, 27 Aug 2018 16:26:43 +0800</pubDate><description><![CDATA[1、网络配置

1.1 CentOS 6
  1)vi /etc/sysconfig/network-scripts/ifcfg-eth0
  ONBOOT=yes
  BOOTPROTO=static
  IPADDR=192.168.153.136
  NETMASK=255.255.255...]]></description><category></category></item><item><title><![CDATA[volatile从表面到底层]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/81983663</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/81983663</guid><author>u013268969</author><pubDate>Thu, 23 Aug 2018 16:42:21 +0800</pubDate><description><![CDATA[该篇文章讨论的议题：

java语义上的volatile
	内存屏障
	JVM的实现
	生成的汇编指令
	如何保障的的可见性和有序性
	为什么volatile不能保证复合操作的原子性
java语义上的volatile

我们从一个很常见的案例开始出发


public class Test {
    public static void main(String[] args) throws In...]]></description><category></category></item><item><title><![CDATA[Java的静态和动态绑定]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/81982862</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/81982862</guid><author>u013268969</author><pubDate>Thu, 23 Aug 2018 16:09:55 +0800</pubDate><description><![CDATA[Java的静态和动态绑定

原文链接：https://www.baeldung.com/java-static-dynamic-binding

作者：baeldung

译者：Emma

1 简介

多态允许对象采用多种形式-当一个方法表现出多态性时，编译器必须将方法的名称映射到最终实现。

如果它在编译时映射，则它是静态或早期绑定。

如果它在运行时被解析，则称为动态或后期绑定。

2 通过代...]]></description><category></category></item><item><title><![CDATA[GitHub 新手详细教程]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/81676814</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/81676814</guid><author>u013268969</author><pubDate>Tue, 14 Aug 2018 23:49:25 +0800</pubDate><description><![CDATA[这篇文章是我自己写的关于GitHub的内容，从我刚听到这个直到设置成功每一步都有详细的步骤来解释，其中有一些截图或者代码来自于网上。

首先，我先对GitHub来一个简单的介绍，GitHub有一个很强大的功能就是，你在服务器上边可以创建一个库（稍后会介绍怎么创建），写代码是一件很重的任务，尤其是很多人完成一个很大的项目的时候，就十分的复杂，一群人一起来写某个项目，大家完成的时间，完成的进度都是不相...]]></description><category></category></item><item><title><![CDATA[Spring Boot -- application.properties常用属性汇总]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/81517539</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/81517539</guid><author>u013268969</author><pubDate>Wed, 08 Aug 2018 23:40:46 +0800</pubDate><description><![CDATA[
# ===================================================================
# COMMON SPRING BOOT PROPERTIES
#
# This sample file is provided as a guideline. Do NOT copy it in its
# entirety to your own app...]]></description><category></category></item><item><title><![CDATA[Spring Boot 快速入门]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/81228982</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/81228982</guid><author>u013268969</author><pubDate>Thu, 26 Jul 2018 23:13:29 +0800</pubDate><description><![CDATA[Spring Boot 优点

1.自动化配置，快速开发，轻松部署；

2.很好的融入docker，支持嵌入式的tomcat、jetty等容器

3.不需要打成war包，只需打成jar包直接运行即可

构建项目

1.通过官方Spring Initializr工具来生成，地址：http://start.spring.io/



2.点击Generate Project按钮，将代码下载到本地

3...]]></description><category></category></item><item><title><![CDATA[Intellij IDEA常用快捷键介绍 Intellij IDEA快捷键大全汇总]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/81228042</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/81228042</guid><author>u013268969</author><pubDate>Thu, 26 Jul 2018 21:27:46 +0800</pubDate><description><![CDATA[其他的快捷键还有很多，象Ctrl+G（跳转到指定行）、Ctrl+F4（关闭当前编辑页面）、Ctrl+F（搜索）等等，这些快捷键由于是各个编辑器都会提供的，而且定义的键位也都差不多，就没什么可说的了；



Alt+回车 导入包,自动修正

Ctrl+N   查找类

Ctrl+Shift+N 查找文件

Ctrl+Alt+L  格式化代码

Ctrl+Alt+O 优化导入的类和包

Alt+Ins...]]></description><category></category></item><item><title><![CDATA[程序员如何高效学习（以 Java 为例）]]></title><link>https://blog.youkuaiyun.com/u013268969/article/details/80666604</link><guid>https://blog.youkuaiyun.com/u013268969/article/details/80666604</guid><author>u013268969</author><pubDate>Tue, 12 Jun 2018 15:54:03 +0800</pubDate><description><![CDATA[文章的整体思路这篇文章大体上会从以下几个部分展开：认清自己。学习目的。时间管理。学习方法。学习的步骤。获取知识的途径影响学习的几个因素自己的心态。外物的影响。其他想说的大学生的学习一些感悟一、认清自己1.1认清自己最关键的一点是【要知道自己到底想要什么】。这是第一步，也是最重要的一步。因为这关系到你能够够选对学习方向，能否沉下心来去学习。我们都知道，做自己感兴趣的事情的时候，是可以事半功倍的，因为...]]></description><category></category></item></channel></rss>