随笔分类 -  Java基础

摘要:这里讨论的收集器基于JDK1.7Update 14之后的HotSpot虚拟机,这个虚拟机包含的所有收集器如下图3-5所示: 上图展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用。 1.Serial收集器 Serial收集器是最基本、发展历史最悠久的收集器。是单线程 阅读全文
posted @ 2017-06-28 09:40 RedAnts 阅读(21222) 评论(0) 推荐(0)
摘要:HotSpot虚拟机对象探秘 阅读全文
posted @ 2017-06-12 20:00 RedAnts 阅读(370) 评论(0) 推荐(1)
摘要:在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有可能发生OutOfMemoryError(OOM)异常。 1.Java堆溢出 Java堆用于存储对象实例,只要不断地创建对象,并且保证GCRoots到对象之间有可大路径来避免垃圾回收机制清理这些对象,那么在对象数量到达 阅读全文
posted @ 2017-06-12 19:48 RedAnts 阅读(352) 评论(0) 推荐(0)
摘要:JVM自动内存管理:对象判定和回收算法 阅读全文
posted @ 2017-05-21 08:55 RedAnts 阅读(423) 评论(0) 推荐(0)
摘要:JVM自动内存管理:内存区域基础概念 阅读全文
posted @ 2017-05-17 21:06 RedAnts 阅读(478) 评论(0) 推荐(0)
摘要:ZooKeeper概述 ZooKeeper的基本概念 ZooKeeper环境搭建(集群,单击,伪集群) 阅读全文
posted @ 2017-04-10 20:24 RedAnts 阅读(486) 评论(0) 推荐(0)
摘要:顺序查找 顺序查找(Order Search)比较简单,就是for循环遍历,适用于少量的、无规则的数据查找。 代码省略...... 折半查找 折半查找(Binary Search)又称二分查找,其要求数据序列是有序线性的。对于没有顺序的数据序列需要先进行排序在进行查找。折半查找先找到中间值,中间值与 阅读全文
posted @ 2017-03-31 11:06 RedAnts 阅读(764) 评论(0) 推荐(0)
摘要:Shell排序算法和合并排序算法 阅读全文
posted @ 2017-03-28 19:05 RedAnts 阅读(772) 评论(0) 推荐(0)
摘要:选择排序(修改): 针对上篇博客中选着排序的错误进行修改 堆排序: 堆排序重点就是构建堆结构,堆结构可以看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲节点和孩子结点之间的内在关系,在当前无序区中选择关键字最大(最小)的元素。 对完全二叉树不太理解的自己私下补知识点了! 完全二叉树的节点特点 阅读全文
posted @ 2017-03-23 10:53 RedAnts 阅读(273) 评论(0) 推荐(0)
摘要:冒泡排序: 思想: 冒泡排序重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说排序完成 特点:比较稳定,排序数较小是比较好 选择排序: 思想:首先找到数组中最小的那个元素,其次,将它和第一个元素交换。接下来找第二小和 阅读全文
posted @ 2017-03-08 22:15 RedAnts 阅读(322) 评论(0) 推荐(0)
摘要:单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例 注:Spring源码的版本4.3.4 Spring依赖注入Bean实例默认是单例的,我们由此展开。 Spring的依赖注入(包括lazy-init方式)都是发生在Abstra 阅读全文
posted @ 2017-02-16 11:45 RedAnts 阅读(16103) 评论(0) 推荐(1)
摘要:不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。 在典型的 阅读全文
posted @ 2017-02-15 10:46 RedAnts 阅读(1955) 评论(0) 推荐(0)
摘要:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序 阅读全文
posted @ 2016-12-05 13:16 RedAnts 阅读(2233) 评论(0) 推荐(0)
摘要:一个主线程下有多个子线程任务,主线程必须在100秒内将子线程执行的集合结果进行处理返回 实现代码: 阅读全文
posted @ 2016-08-22 17:22 RedAnts 阅读(2407) 评论(0) 推荐(0)
摘要:Java反射-初步入门 学反射先了解什么是反射。 百度百科:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 上面提到了类和对象,先了解什么 阅读全文
posted @ 2016-04-06 13:43 RedAnts 阅读(486) 评论(1) 推荐(0)
摘要:下面以一个简单的银行账户为例讲述讲述动态代理。 设计一个银行账户类,包含用户的账户余额,实现查询和更新余额功能 这个系统用了一段时间,有客户要求对账说账户余额给弄错了?因为上面没有存取款记录,最后银行不认账,客户收到了损失。银行为了避免这种现象再次发生,决定对这个系统进行修改,但是因为bankAcc 阅读全文
posted @ 2016-03-10 17:57 RedAnts 阅读(381) 评论(0) 推荐(0)
摘要:从jdk1.5开始我们可以利用Future来跟踪异步计算的结果。在此之前主线程要想获得工作线程(异步计算线程)的结果是比较麻烦的事情,需要我们进行特殊的程序结构设计,比较繁琐而且容易出错。有了Future我们就可以设计出比较优雅的异步计算程序结构模型:根据分而治之的思想,我们可以把异步计算的线程按照 阅读全文
posted @ 2016-03-07 21:59 RedAnts 阅读(3051) 评论(0) 推荐(1)
摘要:程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定 静态绑定(早绑定 编译器绑定): 在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现。例如:C 。针对java可以理解为程序编译期的绑定;特别 阅读全文
posted @ 2016-02-23 17:14 RedAnts 阅读(1981) 评论(0) 推荐(0)
摘要:签名具有的特性: 安全性 抗否认性 数字签名:带有密钥(公钥、私钥)的消息摘要算法(使用私钥进行签名,使用公钥进行验证) 数字签名算法:RSA、DSA、ECDSA 数字签名特性: 验证数据完整性 认证数据来源 抗否认性 经典算法 MD、SHA两类 数字签名算法-RSA的执行过程 代码: packag 阅读全文
posted @ 2016-02-17 11:15 RedAnts 阅读(7275) 评论(2) 推荐(1)
摘要:作者:竹竿 这章我们讲Java Spring的Ioc控制反转, DI依赖注入。 阅读此文之前,必须深入理解Java反射原理。 1、 Ioc控制反转 原来类对象实例的创建都是有程序员自己通过new进行的。控制反转之后,我们把创建对象的功能交给Spring,到时候我们直接用就可以了。 2、 DI注入 c 阅读全文
posted @ 2016-02-14 16:30 RedAnts 阅读(7805) 评论(0) 推荐(0)