自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BoCong-Deng的博客

青春都一饷,怎忍把浮名,换了浅斟低唱。

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

原创 详细图解解决 CentOS7 yum出现“Could not retrieve mirrorlist”的问题

目录•写在前面•错误•解决方案验证配置resolv.conf是否配置验证网卡配置•写在前面yum很强大,借助于YUM软件仓库,可以完成安装、卸载、自动升级rpm软件包等任务,能够自动查找并解决rpm包之间的依懒关系,而无须管理员逐个、手工地安装每个rpm包,使管理员在维护大量Linux服务器时更加轻松自如。特别是在拥有大量Linux主机的本地网络中,构建一台源服务器可以...

2019-12-30 19:58:31 46857 12

原创 了解并发编程中对象的共享

目录•写在前面•可见性volatile变量•发布与逸出•线程封闭Ad-hoc线程栈封闭ThreadLocal类•不变性•安全发布•写在前面我们不仅希望防止某个线程正在使用对象状态而另一个线程在同时修改该状态,而且希望确保当一个线程修改了对象状态后,其他线程能够看到发生的状态变化。如果没有同步,那么这种情况就无法实现,所以我们可以通过显示的同步或者类库...

2019-12-30 11:59:56 11044 1

原创 理解什么是线程安全性、原子性

目录•写在前面•原子性加锁机制•写在前面进程想要执行任务需要依赖线程,换句话说就是进程中的最小执行单位就是线程,并且一个进程中至少有一个线程。提到多线程这里要说两个概念,就是串行和并行,搞清楚这个我们才能更好的理解多线程。所谓串行其实是相对于单条线程来执行多个任务来说的,我们就拿下载文件来举个例子,我们下载多个文件,在串行中它是按照一定的顺序去进行下载的,也就是说必须等下载完A...

2019-12-29 11:56:30 12388

原创 由JVM深入了解Java的线程安全与锁优化

目录•写在前面•线程安全Java语言中的线程安全线程安全的实现方法•锁优化自旋锁与自适应自旋锁消除锁粗化轻量级锁偏向锁•写在前面讲道理,在谈及线程安全以及锁优化之前,需要先搞清楚啥是线程,像那些硬概念这里我就不多说,什么线程是比进程更轻量级的调度执行单位,线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源,又可以独立调度(...

2019-12-25 15:12:17 11180

原创 深入理解Java内存模型(JMM和volatile关键词)

目录•写在前面•物理机三级缓存•乱序执行优化•Java内存模型•内存间交互操作•volatile型变量•先行发生原则•写在前面在正式讲解之前呢,我们先来讨论讨论硬件的效率与一致性。这里我们讲讲物理机对并发的处理方案,因为物理机遇到的并发问题与虚拟机中的情况有不少相似之处,所以它的方案对于虚拟机的实现也有相当大的参考意义。如何让计算机并发执行若干个运算任务以及如何...

2019-12-25 11:35:22 11141

原创 彻底搞清楚Java的位运算(位实现加减乘除)

目录•写在前面•机器数和机器数的真值•原码、反码和补码的基础概念和计算方法原码反码补码•java中的运算符•不用乘除算乘除加法减法乘法除法•写在前面二进制位运算是最贴近计算机真实运算操作,通过位运算,我们可以高效的完成各种基础运算(加减乘除取余等),我们还可以使用位运算巧妙的完成原本很复杂的工作,真正理解计算机,我们才能更好的使用计算机。在这...

2019-12-23 20:27:19 16520 6

原创 Java虚拟机类加载机制-双亲委派模型

目录•写在前面•类加载的时机•类加载的过程加载验证准备解析初始化•类加载器•写在前面其实类加载机制并不是很神秘,可以说我们无时无刻不在是由类加载,只是很多时候我们不需要关注类加载机制会给我们带来啥影响,不过如果你深入了解类加载机制的原理,你就会发现,原来我们日常代码是这样运行的,甚至对代码编写的各类继承、本地库方法、网络间方法,来点以前没敢尝试过的骚操作...

2019-12-20 20:09:19 11067

原创 通俗易懂且详细的了解Class类文件结构

目录•写在前面•无符号数和表•魔数和Class文件的版本•常量池•访问标志•类索引、父类索引与接口索引集合•字段表集合•方法表集合•写在前面提到java,我们可能第一时间想起的就是那句口号,“一次编写,到处运行”,这体现了java与平台无关的优势,而实现这种特性的的基础,是通过将java编译成字节码文件,虚拟机可以载入和执行同一种平台无关的字节码,从而实现这...

2019-12-19 19:37:31 12245

原创 JDK的命令行工具、故障处理分析工具

目录•写在前面•jps虚拟机进程状况工具•jstat虚拟机统计信息监视工具•jinfo配置信息工具•jmap内存映像工具•jhat虚拟机堆转储快照分析工具•jstack堆栈跟踪器•JConsole 监视与管理控制台•VisualVM多合一故障处理工具•写在前面我们平时使用java时,基本都是将下载下来的JDK包用来当基础环境用,一般程序运行包括测试监控都...

2019-12-18 23:44:30 12395 1

原创 JVM的GC回收算法、GC收集器以及内存分配策略

目录•写在前面•标记-清除算法•复制算法•标记-整理算法•HotSpot上的算法实现保障•GC收集器•内存分配策略•写在前面JVM的垃圾回收算法、收集器以及内存分配策略放在一起了解和理解,我觉得有助于我们加深印象,这一篇文章我就不再讲述对象为什么要回收以及何时回收了,想要了解相关知识可以看我的另一篇文章JVM如何判断对象是否要回收。几个点放在一起内容会有些多,不...

2019-12-17 11:18:40 11029 5

原创 JVM如何判断对象能否被回收

目录•写在前面•对象的创建•引用计数算法•可达性分析算法•引用•不可达必须“死”?•最后•写在前面说起Java和C++,很容易想到让人疯狂的指针,Java使用了内存动态分配和垃圾回收技术,让我们从C++的各种指针问题中摆脱出来,更加专心于业务逻辑,不过如果我们需要深入了解java的JVM相关原理,我们必须要面对这些东西,深入了解JVM在内存动态分配和垃圾回收技术...

2019-12-16 16:11:57 12690 5

原创 由浅入深的分析HashMap原理

目录•写在前面•HashMap简介•Hash函数•初始容量和负载因子•通过put和get看底层结构•高并发下的HashMap•写在前面对于大多数人HashMap是一个熟悉又陌生的的类,我们经常在需要使用键值对的地方使用HashMap,但是要你说上HashMap相关实现细节,估计就支支吾吾了,这里我对HashMap进行由浅入深的分析,文章涉及到的HashMap底层源码...

2019-12-13 19:45:27 10555

原创 Java虚拟机运行时数据区

目录•写在前面•程序计数器•java虚拟机栈和本地方法栈•java堆•方法区•写在前面Java虚拟机运行时数据区是我们深入了解JVM的必经之路,那这是什么样的一个区域呢?Java虚拟机在执行Java程序的过程中,会把它所管理的内存划分若干个不同的数据区域,这些区域被赋予不同的用途,它们有着各自创建和销毁时间,有的区域是随着虚拟机进程启动而存在的,有的区域则是依赖用户线程...

2019-12-13 14:55:00 10803

原创 正则表达式匹配(详细多解法)

目录•写在前面•题目•解法一•解法二•解法三•写在前面所谓真的勇士,敢于直面不用API的手撕,我最开始看到这道题的时候,觉得简直就是到秒杀题,不过我还是按捺住了内心用java正则表达式API的冲动,手撕匹配代码,算法使用的思想就是递归,我最开始是使用直接递归解决了这道题,后面看别人的解法的时候,发现在递归上进行了改进,使用了动态规划的思路,降低了子串创建的时间成本,觉得...

2019-12-11 18:50:01 1570

原创 Git常用指令合集

目录•写在前面•新建•配置•增删文件•提交•分支•标签•查看•远程同步•撤销•最后-搭建Git•写在前面首先要熟悉Git的几个名词吧,不然哪叫会用Git,其中Workspace:工作区,Index / Stage:暂存区,Repository:仓库区(或本地仓库),Remote:远程仓库。•新建# 在当前目录新建一个Git代码库$ g...

2019-12-10 18:58:26 10560

原创 Git系列:进一步讲讲Git的分支管理

目录•写在前面•解决冲突•分支创建策略•bug分支•Rebase指令整理分支•最后•写在前面Git分支管理在前面说了,非常方便我们开发,没看过前面的可以到前面看这篇文章,接下来,我们讲讲关于分支管理的其他指令,帮助我们进一步了解分支管理给我们带来了什么方便。•解决冲突冲突是什么?很多时候,当你在分支上进行修改,或者进行多人协同开发的时候,你会需要使用git进...

2019-12-09 20:25:26 540

原创 最大数问题(自定义排序)

目录•写在前面•题目•解法•写在前面最大数问题,不是选中最大的那个数,而是组合成最大的那个数,不是说这个问题有多难,而是说提供了一种很棒的思路,就是自定义排序,我觉得很值得收录,因为使用这种思路可以解决很多问题。话不多说,直接上题。•题目给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。示例 1:输入: [10,2]输出: 210示例2:输...

2019-12-08 21:27:14 658

原创 最长回文子串(多种解法,附马拉车算法)

目录•写在前面•题目•解法一 暴力破解•解法二 暴力优化•解法三 最长公共子串(动态规划整体)•解法四 中心扩展法•解法五 马拉车算法•结束•写在前面这种类型的题目算是比较常见的,有很多种解决方案,但我想着重说一下马拉车算法,第一因为之前我没有接触了解这个算法,第二就是,这个算法的时间复杂度降到了O(n),我自己在写的时候是使用中心扩展法进行解决的...

2019-12-08 17:59:20 730

原创 寻找两个有序数组的中位数(附上三种解法)

目录•写在前面•题目•解法一•解法二•解法三•结束•写在前面这道题比较经典,我当时在做的时候,想出了两种解决方案,不过总感觉算法不够优美,所以找到了另一种我觉得非常精妙的解法,利用了K最小数的思想去解决这道题,很值得讲一下,不知道K最小数的,可以参考我另一篇文章,点击这里跳转就可以了。下面我废话不多说,直接开始讲解。•题目首先先把题目呈上来,具体题目如下:...

2019-12-06 18:23:32 15335 6

原创 Git系列:如何重命名仓库,并同步远程仓库

目录•写在前面•修改远程仓库名•修改本地仓库名•同步远程和本地仓库•结束•写在前面Git是极其灵活的,它提供了非常多的指令方便我们系统开发,这篇文章要写的就是如何使用指令,修改仓库名,并同步远程仓库。这当我们需要对项目进行修改的时候,非常有用。•修改远程仓库名首先我们需要修改远程仓库的项目名称,这里我们使用GitHub为例进行说明,在GitHub修改已有的...

2019-12-06 14:59:30 9664

原创 Git系列:分支管理

目录•写在前面•理解分支管理•使用分支指令•分支切换switch•下一步•写在前面讲到Git的分支管理还是比较激动的,因为Git的分支管理简直太好用了,效率又高,虽然SVN也有分支管理,但是这些版本控制系统创建和切换分支相当的慢,基本都不去用,而Git不管版本库中的文件数量有多大,都能在短短的一秒内完成操作,简直就是团队协作开发的利器。•理解分支管理在讲相关的指...

2019-12-01 21:16:28 497

原创 Git系列:如何使用远程仓库

目录•写在前面•准备远程仓库,设置SSH•添加远程仓库•克隆远程仓库•下一步•写在前面早在很早之前就说了,Git是分布式版本控制系统,它的优势之一就是非常方便团队进行多人协作开发,之前讲的内容都没有体现出多人协作的特点,这一篇文章就是为了讲解Git在多人协作中的重要功能,就是远程仓库。远程仓库顾名思义就是将一个git仓库放在某个云端机器中,然后使用其余机器对这个远程仓库...

2019-12-01 15:49:56 475

原创 Git系列:管理、撤销以及删除

目录•写在前面•撤销修改git checkout•删除修改rm•下一步在前面提到了对文件的添加更新等操作,使用了git add,git commit等操作,接下来对撤销等相关操作进行说明。•写在前面前面提到过版本回退,我们可以使用git reset指令进行版本回退。但是有时候我们只是想要单纯的对已经修改的内容进行撤销,并不想通过回退操作怎么办?Git有git check...

2019-12-01 11:35:42 10339

1000道 互联网大厂Java工程师面试题(1)(1)(1).pdf

你想要的Java面试题1000道,包括数据库、基础、并发、微服务、Spring、等等面试题,新鲜出炉,请收下。

2020-04-03

JDBC for SQL Server

SQL Server的JDBC驱动,官网下载,用以连接SQL Server.....

2018-02-04

Tomcat 9.0.1

官方打包好的Tomcat 9.0.1绿色版和安装版供你选择,为你安装Tomcat省去时间......

2018-02-04

SQL Server 2017 Dev

SQL Server 2017软件安装程序,直接从官网打包好,为你安装SQL Server省时间......

2018-02-04

SQL Server 2016

SQL Server 2016软件安装程序,直接从官网打包好,为你安装SQL Server省时间......

2018-01-31

Eclipse的Properties插件

Eclipse 安装properties 插件是我们常常需要使用的技巧,现实中,很多框架都使用 了properties文件来配置一些常用的程序参数......

2018-01-29

JSTL包和standrad包

在web项目中使用JSTL标签,JSTL 1.0 的声明是 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core " %> 所使用的web应用服务器resin与tomcat有所区别 resin\lib目录下存在jstl-1.2.jar、jta-101.jar包 而tomcat目录下不存在这两个jar包 结论:在使用tomcat里要在web工程中引入以上两个jar包 以解决http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml错误

2018-01-29

SQL Server 强力删除工具

本工具可以对已安装的SQL Server系列进行强力卸载,简化了卸载的复杂步骤,使得电脑与未安装之前一样使用......

2018-01-24

五子棋(C语言版)

用C语言编写的一个简单的五子棋小程序,有兴趣的小伙伴可以下载看看哟......

2017-12-19

贪吃蛇(C++版)

用C++编写的一个简单是贪吃蛇小程序,有兴趣的小伙伴可以下载看看......

2017-12-19

JAVA8_API CHM版

最新的Java8_API 中文版,可以帮助你更快地熟悉java,是java日常开发中的好工具,对你java的学习会有帮助

2017-11-29

JAVA_API_1.8 中文版

最新的Java_API_1.8 中文版,可以帮助你更快地熟悉java,是java日常开发中的好工具,对你java的学习会有帮助

2017-09-19

java API 1.8

最新java API,1.8版本,包含java库中的的各种函数的解释与使用,是一款不可多得的工具。java api是一款使用Java编程的使用说明书,里面提供了大量的程序开发分类说明,并提供API函数开发的集体编程方式,可以帮助用户更加了解Java程序的运行模式,增加程序员对开发环境的了解程度,让您在编程中尽量的减少错误,提供开发的精度......

2017-09-19

2017 ICPC实训资料

囊括金牌班、精英班、提高班和基础班的学习资料,对于想要初入还是深入ACM的朋友都挺有用的......

2017-08-27

2017前端面试题整理汇总

Web前端开发,最新的各大公司的面试题,有兴趣的朋友拿去学习......

2017-08-23

C++API中文版

网罗了几乎是C语言、C++以及STL中的所有函数,详细介绍各种函数的所属及用法,不管对于新手还是“老手”,这都是一个不错的帮助工具......

2017-08-22

仓库管理系统(C++版)

除了涉及各项基本的操作之外,包括菜单的登录系统,管理员身份操作,数据文件的保存等等......

2017-08-19

JavaScript权威指南第六版例题源码

JavaScript权威指南第六版源码,官网直接下载的,可靠......

2017-08-19

高校社团助手1.0(QT版)

使用Qt作为界面设计的语言,迎合新手用于研究Qt的运用。内含基础的功能登录、删除、查找、地图导航......

2017-08-06

文件压缩程序(基于哈夫曼C++算法)

该程序能压缩文档、图片、小视频等文件,并且基于C++的算法实现,简单易懂......

2017-08-01

学生成绩管理系统(C语言版)

基本的搜索、查找、删除。排序等等的功能齐全,菜单界面设计较为合理......

2017-08-01

数据结构—高校社团助手源码(C++)

里含有成员数据管理、社团数据管理、活动及校园地图等基本内容。另含有自主设计的数据内部共享的算法等功能......

2017-08-01

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

TA关注的人

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