自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (11)
  • 收藏
  • 关注

原创 JVM内存中的年轻代,老年代

引言对于大多数Java应用来说,Java Heap(Java堆)是JVM管理的内存中较大的一块,而且Java Heap是被所有线程共享的一块内存区域,于虚拟机启动时创建。而Java堆的唯一目的就是存放对象实例。由于Java堆是垃圾收集器管理的主要区域,因此也被称为"GC堆"。再从内存回收的角度来看,由于现代收集器基本都采用分代收集算法,所以Java Heap还可以被细分为:新生...

2018-07-25 00:02:45 3817

原创 Java使用Thread时的一些注意点

 新建线程 新建线程很简单,只要使用new关键字创建一个线程对象,并且将它start()起来即可:Thread t1 = new Thread();t1.start();注意:下面的代码也能通过编译和正常执行,但是却没有新建一个线程:Thread t2 = new Thread();t2.run();这只是简单的普通方法调用,所以没有涉及新的线程创建。那让我...

2018-07-22 16:05:56 517

原创 硬币找零(动态规划 Java实现)

问题:假如给你这些面值的硬币{25, 21, 10, 5, 1 },问需要对63进行找零,需要的最少硬币数为?思路:很明显的一个动态规划题目,该问题的子问题其实就是更小数额的钱需要的最少硬币数,那我们可以先从小数额开始计算,这样后面大数额就可以借助前面已经计算好的小数额的来进行计算,比如找零,21,前面已经计算了找零20需要2个硬币,这里21很明显就是2+1=3个硬币。上代...

2018-07-19 10:25:33 4146

原创 组合(Java实现)

题目:求解n个元素的组成的大小为m的组合思路:假设我们想在长度为n的字符串中求m个字符的组合。我们先从头扫描字符串的第一个字符。针对第一个字符,我们有两种选择:一是把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选取m-1个字符;二是不把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选择m个字符。这两种选择都很容易用递归实现。思路讲完了,直接...

2018-07-19 10:11:34 2434

原创 全排列(Java实现)

废话少说,直接上代码:public static void permutation(char[]ss,int i){ if(ss==null||i<0 ||i>ss.length){//1 return; } if(i==ss.length-1){//2 ...

2018-07-19 10:05:10 12797 5

原创 Warshall算法求解传递背包问题(Java实现)

传递背包通俗理解原本邻接矩阵就是各个顶点能通过一步就到的才能为1,比如图中a->b,所以[a,b] = 1, d->c,所以[d,c],而a不能一步到d(虽然a最后可以通过b到达d),所以[a,d]=0而传递闭包就是包括了这种通过多步到达的情况。求解传递闭包为了解决这个问题,可以通过DFS或者BFS,通过对每个顶点来进行遍历能到达的点,说明可达,以此来生成传递闭包,但...

2018-07-18 18:19:43 904

JDK1.8中文帮助文档

总的来说,JDK在以下方面具有新特性: 1. 速度更快 – 红黑树 2. 代码更少 – Lambda 3. 强大的Stream API – Stream 4. 便于并行 – Parallel 5. 最大化减少空指针异常 – Optional

2018-06-24

算法导论第三版

在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。

2018-06-15

Java并发编程实战

本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。

2018-06-15

深入理解Java虚拟机

《深入理解Java虚拟机:JVM高级特性与最佳实践》内容简介:作为一位Java程序员,你是否也曾经想深入理解Java虚拟机,但是却被它的复杂和深奥拒之门外?没关系,本书极尽化繁为简之妙,能带领你在轻松中领略Java虚拟机的奥秘。本书是近年来国内出版的唯一一本与Java虚拟机相关的专著,也是唯一一本同时从核心理论和实际运用这两个角度去探讨Java虚拟机的著作,不仅理论分析得透彻,而且书中包含的典型案例和最佳实践也极具现实指导意义。

2018-06-15

算法第4版谢路云译完整版

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

2018-06-14

验证码算法

使用Java生成验证码图片使用Java生成验证码图片使用Java生成验证码图片

2018-06-14

大型网站系统与Java中间件实践

《大型网站系统与Java中间件实践》围绕大型网站和支撑大型网站架构的 Java 中间件的实践展开介绍。从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构变迁;接着讲述构建 Java 中间件的相关知识;之后的几章都是根据笔者的经验来介绍支撑大型网站架构

2018-06-14

汇编语言王爽

汇编语言是汇编指令集、伪指令集和使用它们规则的统称,使用具有一定含义的符号为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令。 汇编语言是一门重要的程序设计语言。下面列举了至少4本名叫《汇编语言》的图书和教材,并简要介绍了高校计算机相关专业在开设“汇编语言”课程方面的一些情况。

2018-06-10

图解TCP_IP

这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识、掌握TCP/IP的基本技能。 书中讲解了网络基础知识、TCP/IP基础知识、数据链路、IP协议、IP协议相关技术、TCP与UDP、路由协议、应用协议、网络安全等内容,引导读者了解和掌握TCP/IP,营造一个安全的、使用放心的网络环境。 本书适合计算机网络的开发、管理人员阅读,也可作为大专院校相关专业的教学参考书。

2018-06-09

操作系统之哲学原理

《操作系统之哲学原理(第2版)》本书对操作系统的核心内容进行了全面分析,包括操作系统的发展历史和基本概念、进程与线程、内存管理、文件系统、输入与输出、多核环境下的进程调度和操作系统设计。本书用大量生活实例,生动地解释了操作系统中的主要难点和模糊点:锁的实现、同步机制的发展轴线、纯粹分段到段页式的演变、多核环境下的进程同步与调度和操作系统设计等内容。下面介绍操作系统的发展历史。

2018-06-09

空空如也

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

TA关注的人

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