自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lihbj的博客

学习是一个过程 需要慢慢积累

  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 JVM性能篇之垃圾回收机制

垃圾回收机制自动垃圾收集自动垃圾收集是查看堆内存,识别正在使用哪些对象以及哪些对象未被删除以及未使用对象的过程。使用中的对象或引用的对象意味着程序的某些部分仍然维护指向该对象的指针。程序的任何部分都不再引用未使用的对象或未引用的对象,因此可以回收未引用对象使用的内存。像C这样的编程语言中,分配和释放内存是一个手动过程。在java中,解除分配内存的过程由垃圾收集器自动处理。如何确定内存需要被回收该过程的第一步称为标记。这是垃圾收集器识别哪些内存正在使用而哪些不在使用的地方。[外链图片转存失败

2020-05-14 16:34:19 325

原创 JVM性能篇之类加载机制

类加载机制运行时数据区类生命周期类加载器类加载器负责装入类,搜索网络、jar、zip、文件夹、二进制数据、内存等指定位置的类资源。一个java程序运行,最少有三个类加载器实例,负责不同类的加载。验证问题:查看类对应的加载器JVM如何知道我们的类在何方类不会重复加载类的卸载双亲委派模型查看类对应的加载器/** * 查看类的加载器实例 */public class ClassLoaderView { public static void main(String

2020-05-14 16:29:17 159

原创 高并发网络编程之NIO非阻塞网络编程

NIO非阻塞网络编程始于Java1.4,提供了新的JAVA IO操作非阻塞API。用意是替代Java IO和Java Networking相关的API。三个核心组件:Buffer缓冲区Channel通道Selector选择器Buffer缓冲区缓冲区本质上是一个可以写入数据的内存块(类似数组),然后可以再次读取。此内存块包含在NIO Buffer对象中,该对象提供了一组方法,可以更轻松地使用内存块。相比较直接对数组的操作,Buffer API更加容易操作和管理。使用Buffer进行数据写

2020-05-14 16:21:33 254

原创 多线程并发编程之Synchronized原理解析

Synchronized原理解析synchronized(this) { i++;}思考这三个问题?this对象加锁的状态如何记录?状态被记录到this对象里面了吗?若锁占用,线程挂起;释放锁时,唤醒挂起的线程,是如何做到的?堆中对象的存储代码示例:public class Demo5_main { public static void main(Stri...

2020-03-20 14:36:18 140

原创 JAVA内存模型 VS JVM运行时数据区

JVM运行时数据区线程共享:所有线程能访问这块内存数据,随虚拟机或者GC而创建和销毁线程独占:每个线程都会有他独立的空间,随线程生命周期而创建和销毁线程共享部分又包含方法区和堆内存方法区:用来存放类信息、常量、静态变量、编译后的代码等数据,虚拟机规范中这是一个逻辑划分,具体实现根据不同的虚拟机来实现。比如oracle的Hotspot虚拟机在java7中放在永久代,java8...

2020-03-04 14:48:44 318

转载 Nginx配置技巧

本文记录了一些nginx作为反向代理和文件服务器的配置技巧和解决方案Nginx作为文件服务避免浏览器自动播放文件有时对于图片、视频,浏览器会视能力,自动为用户显示或播放。这主要是由于Web服务器在返回文件本身数据的同时,返回了一些特殊的MIME类型,比如:image/jpeg(JPEG图像),application/pdf(PDF文档),video/mpeg(MPEG动画)。这些MIM...

2019-09-10 11:05:51 159

转载 Spring学习笔记

好记忆不如烂笔头, 能记下点什么, 就记下点什么, 方便后期的巩固Spring介绍Spring 是一个开源框架,是一个分层的 JavaEE 一站式框架。所谓一站式框架是指 Spring 有 JavaEE 开发的每一层解决方案。 WEB层:SpringMVC Service层:Spring的Bean管理,声明式事务 DAO层:Spring的JDBC模板,ORM模...

2019-05-28 10:31:40 130

原创 JAVA多线程基础

什么是线程:--线程是进程内的执行单元,是进程里面更小的调度单元进程的切换是非常重量级的操作java当中建立了一个线程,会同等的映射到操作系统层面,所以跟操作系统上的线程是等价的线程的基本操作新建线程:Thread t1 = new Thread(); Thread t1 = new Thread();t1.start(); ...

2019-04-17 17:54:07 100

原创 linux下svn的安装部署配置

准备操作系统并查看系统版本# cat /etc/redhat-release# uname -m# uname -r安装svn检查程序是否安装:# rpm -aq subversion如果没有安装,则需要执行下面命令安装# yum -y install subversion补:yum安装rpm包安装后本机不清除的方法# sed -i 's#keepcache=0#keep...

2019-04-16 14:35:50 426

原创 SVN基本介绍

svn(subversion) 是一个跨平台的开源的版本控制系统数据放在一个中央资料档案库中,像普通的文件服务器或者FTP服务器会备份并记录每个文件每一次的修改更新变动。SVN相关站点:http://subversion.tigris.org/http://subversion.apache.org/svv客户端:http://www.tortoisesvn.net/常见版本...

2019-04-09 18:10:31 499

原创 linux下jdk的安装(两种方式)

两种方式:第一种:使用yum方式安装jdk1.查看yum中管理的可用的JDK软件包列表:yum search java | grep -i --color JDK结果如下图所示: 2.选择合适版本,安装jdk,本人选择的是java-1.8.0-openjdk-devel.x86_64yum install java-1.8.0-openjdk-devel.x86_6...

2018-08-27 17:06:47 24964 2

原创 linux下安装mysql

一个十分简单的安装方式安装# 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.cnfcharac...

2018-08-27 16:35:19 142

原创 安装CentOS后的基本配置

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...

2018-08-27 16:26:43 763

转载 volatile从表面到底层

该篇文章讨论的议题:java语义上的volatile 内存屏障 JVM的实现 生成的汇编指令 如何保障的的可见性和有序性 为什么volatile不能保证复合操作的原子性java语义上的volatile我们从一个很常见的案例开始出发public class Test { public static void main(String[] args) throws In...

2018-08-23 16:42:21 1122

转载 Java的静态和动态绑定

Java的静态和动态绑定原文链接:https://www.baeldung.com/java-static-dynamic-binding作者:baeldung译者:Emma1 简介多态允许对象采用多种形式-当一个方法表现出多态性时,编译器必须将方法的名称映射到最终实现。如果它在编译时映射,则它是静态或早期绑定。如果它在运行时被解析,则称为动态或后期绑定。2 通过代...

2018-08-23 16:09:55 149

转载 GitHub 新手详细教程

这篇文章是我自己写的关于GitHub的内容,从我刚听到这个直到设置成功每一步都有详细的步骤来解释,其中有一些截图或者代码来自于网上。首先,我先对GitHub来一个简单的介绍,GitHub有一个很强大的功能就是,你在服务器上边可以创建一个库(稍后会介绍怎么创建),写代码是一件很重的任务,尤其是很多人完成一个很大的项目的时候,就十分的复杂,一群人一起来写某个项目,大家完成的时间,完成的进度都是不相...

2018-08-14 23:49:25 189

原创 Spring Boot -- application.properties常用属性汇总

# ===================================================================# COMMON SPRING BOOT PROPERTIES## This sample file is provided as a guideline. Do NOT copy it in its# entirety to your own app...

2018-08-08 23:40:46 298

原创 Spring Boot 快速入门

Spring Boot 优点1.自动化配置,快速开发,轻松部署;2.很好的融入docker,支持嵌入式的tomcat、jetty等容器3.不需要打成war包,只需打成jar包直接运行即可构建项目1.通过官方Spring Initializr工具来生成,地址:http://start.spring.io/2.点击Generate Project按钮,将代码下载到本地3...

2018-07-26 23:13:29 610

转载 Intellij IDEA常用快捷键介绍 Intellij IDEA快捷键大全汇总

其他的快捷键还有很多,象Ctrl+G(跳转到指定行)、Ctrl+F4(关闭当前编辑页面)、Ctrl+F(搜索)等等,这些快捷键由于是各个编辑器都会提供的,而且定义的键位也都差不多,就没什么可说的了;Alt+回车 导入包,自动修正Ctrl+N   查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L  格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Ins...

2018-07-26 21:27:46 188

转载 程序员如何高效学习(以 Java 为例)

文章的整体思路这篇文章大体上会从以下几个部分展开:认清自己。学习目的。时间管理。学习方法。学习的步骤。获取知识的途径影响学习的几个因素自己的心态。外物的影响。其他想说的大学生的学习一些感悟一、认清自己1.1认清自己最关键的一点是【要知道自己到底想要什么】。这是第一步,也是最重要的一步。因为这关系到你能够够选对学习方向,能否沉下心来去学习。我们都知道,做自己感兴趣的事情的时候,是可以事半功倍的,因为...

2018-06-12 15:54:03 271

原创 程序员进阶必备的五个网站

1、TopCoderTopCoder是一个非常出名的编程竞技网站。不少的程序员会在上面参加一些算法挑战,如果你确实很牛掰,甚至会得到线上外包类的工作机会。2、CodechefCodechef上面的编程题目难度分好几个等级,包括入门、简单、中等、高难度等。在这个技术网站上,经常会举办一些编程竞赛,据说还有竞赛奖金哦,是时候赚点外快给女朋友买包包啦!3、FreecodecampFCC网站采用的编程教育...

2018-03-21 11:04:25 2213 3

转载 学习网站分享

站长素材:http://sc.chinaz.com/编程问答平台:https://stackoverflow.com/炫酷特效网址:1. 前端炫酷特效http://jsrun.net可以在线调试js代码 保存代码、分享代码2.前端html5学习交流平台http://www.html5tricks.com/还有各类html5小游戏3.jQury之家 http://www.htmleaf.com/4....

2018-03-21 10:52:22 347

typora-windows64-setup.zip

MarkDown编辑器 Typora,2020-03-18从官网下载的最新版本,提供给访问Typora官网下载慢的同学

2020-03-18

Git-2.18.0-64-bit_git64位最新版

git最新版下载,自己备份百度云吧 git最新版下载,自己备份百度云吧

2018-08-28

空空如也

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

TA关注的人

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