![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java学习
yeshenlucky
学习乐园。。
展开
-
JVM垃圾回收器学习笔记01
JVM垃圾回收器学习笔记01JVM GC概述哪些内存需要回收什么时候回收可达性分析算法如何回收参考JVM GC概述垃圾回收器,简称GC,也可以说是内存回收器,垃圾回收是JVM中最核心的功能之一。垃圾回收器主要关注三个问题:哪些内存需要回收(JVM运行时数据区内哪些区域需要进行内存回收)什么时候回收如何回收(用什么方法回收)Java开发者无须像C/C++开发者那样关注于内存相关的细节...原创 2020-05-05 17:29:27 · 160 阅读 · 0 评论 -
多线程学习-停止线程
引入 停止线程是在多线程开发时很重要的技术点,掌握此技术可以对线程的停止进行有效的处理。停止一个线程意味着在线程处理完任务之前停掉正在做的操作,也就是放弃当前操作。判断线程是否是停止状态 Thread类中提供了两种方法,interrupted()和isInterrupted(),下面做详细介绍。interrupted( )方法 方法声明:public static boolean in原创 2015-12-09 20:25:12 · 316 阅读 · 0 评论 -
Java的反射机制学习1
Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法. 下面以Person类为例子,对反射进行学习public class Person { private String name; private int age; public Person(){原创 2016-10-24 23:51:09 · 190 阅读 · 0 评论 -
Java的反射机制学习2
获取Class类实例的方法-调用运行时类本身的.class属性 Class clazz=Person.class;-通过运行时类的对象获取 Person person=new Person(); Class clazz=person.getClass();-通过Class的静态方法 Class clazz=Class.forName([类的全路径]);-通过类的加载器 C原创 2016-10-25 22:00:02 · 180 阅读 · 0 评论 -
Java反射机制学习3
代理静态代理方法interface ClothFactory{ void productCloth();}class NikeClothFactory implements ClothFactory{ @Override public void productCloth() { System.out.println("Nike Factory product原创 2016-10-25 22:53:16 · 250 阅读 · 0 评论 -
Servlet学习笔记
Servlet学习servlet的生命周期servletAPI学习Servlet学习 Servlet是基于java技术的web组件,被servlet容器(tomcat等)管理,用于根据不同请求而生成动态的内容。像其它基于java的组件技术一样,是与平台无关的组件技术,编译成与平台无关的字节码,被基于java技术的web服务器动态加载并运行。servlet的生命周期servlet的生命周期可原创 2017-02-20 18:45:33 · 331 阅读 · 0 评论 -
过滤器(Filter)、监听器(Listener)学习
一、过滤器——Filter 概念:过滤器Filter是在Java Servlet规范2.3中定义的,它能够对Servlet容器的请求(request)和响应(response)对象进行检查和修改。 特点: 1.Servlet过滤器可以检查和修改ServletRequest和ServletResponse对象 2.Servlet过滤器可以被指定和特定的URL关联,只有当客户请求访问该原创 2017-02-21 16:02:50 · 565 阅读 · 0 评论 -
Centos安装java环境
卸载自带的OpenJDKroot用户使用下列命令查看 java -version会显示自带的OpenJDK相关信息。-卸载步骤 -查找相关的软件包 rpm -qa | grep java 得到一些信息如: java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5-删原创 2017-10-11 16:03:42 · 218 阅读 · 0 评论 -
Java异常-学习
Exception Exception是程序运行时,可以预料到的异常情况,可能并且应该被捕获进行相应的处理。 可分为可检查异常和不可检查异常,可检查异常必须显示的进行捕获处理;不可检查异常即所谓的运行时的异常,如NullPointerException,ArrayIndexOutOfBoundsException。Error Error是指在正常情况下不大可...原创 2018-05-27 16:59:23 · 191 阅读 · 0 评论 -
【Java】hashCode和equals
【Java】hashCode和equals一、hash表(散列表) hash表是一种数据结构,可以快速提供插入和查找操作。 hash表采用一个映射函数f:key->address将关键字映射到该记录在此表中的存储位置。通常情况下,这种映射关系称作为Hash函数,而通过Hash函数和关键字计算出来的存储位置(注意这里的存储位置只是表中的存储位置,并不是实际的物理地址)称作为Has...原创 2018-07-29 22:45:09 · 153 阅读 · 0 评论 -
线程安全与共享资源
转载地址转载 2015-12-07 18:54:38 · 269 阅读 · 0 评论 -
栈的学习-四则运算实例
栈的学习-四则运算实例目录栈的学习-四则运算实例目录栈和队列java中使用栈1Stack类2Deque接口栈的应用-四则运算栈和队列 栈和队列是两种特殊的线性表,特殊之处在于插入与删除操作的位置受到限制,若插入和删除只能在线性表的一端进行,则为栈,特点是后进先出(LIFO);若插入和删除操作分别在线性表的两端进行,则为队列,特点是先进先出(FIFO)。 栈按不同的存储结构又分为原创 2015-12-01 20:51:08 · 486 阅读 · 0 评论 -
希尔排序
1、希尔排序(shell sort)希尔排序是由D.L.Shell在1959年提出的,又称缩小增量排序,基本思想是分组的直接插入排序。2、算法描述(1)讲一个数据序列分成若干组,每组由若干相隔一段距离的元素组成,这段距离成为增量,在一个组内采用直接c插入排序算法进行排序;(2)增量的初值通常为数据序列长度的一半,以后每趟增量逐步缩小,最后值为1。3、代码实现原创 2015-12-02 20:14:35 · 273 阅读 · 0 评论 -
java学习-继承
类的继承关键字:extends,不支持多重继承。子类可以继承父类中访问权限设定为public、protected、default的成员变量和方法。不能访问权限设定为private的变量和方法。成员变量的隐藏和方法的重写 当子类成员变量和父类成员变量相同时,子类成员变量会隐藏父类的成员变量 public class Test { public static void main(Stri原创 2015-03-28 20:06:22 · 334 阅读 · 0 评论 -
统计大串中小串出现的次数
统计大串中小串出现的次数public class Test3 { public static void main(String[] args) { String str="woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"; String searchStr="java"; Sy原创 2015-04-10 20:08:51 · 1428 阅读 · 0 评论 -
java学习-二分查找
import java.util.Random;import java.util.Scanner;public class BinaryFind { //生成随机数 然后排序 再二分查找 用作理解二分查找 public static void main(String[] args) { Random r=new Random(); System.o原创 2015-04-14 22:16:12 · 416 阅读 · 0 评论 -
多线程学习--ThreadLocal类的使用
引入 类ThreadLocal主要解决的就是每个线程绑定自己的值,可以将ThreadLocal类比喻成全局存放数据的盒子,盒子里可以存储每个线程的私有数据。使线程变量具有隔离性。案例 设置两个线程ThreadA和ThreadB,每个线程都分别为用ThreadLocal设置值和取值。public class Tools { public static ThreadLocal tl=原创 2015-12-11 16:24:41 · 378 阅读 · 0 评论 -
多线程学习-方法join的使用
引入 在很多情况下,主线程创建并启动子线程,如果子线程要进行大量的耗时计算,主线程往往将早于子线程结束之前结束。这时,如果主线程想等待子线程执行完成之后再结束,比如子线程处理一个数据,主线程要取得这个数据的值,就要用到join()方法了。方法join()的作用是等待线程对象销毁。使用的主要的类public class MyObject { private int value; pu原创 2015-12-11 15:26:52 · 292 阅读 · 0 评论 -
多线程学习-线程通信
等待/通知机制 等待/通知机制在生活中比比皆是,举一个例子,厨师与服务员的例子,他们之间的交互在“菜品传递台”。 1、厨师做完一道菜的时间不确定,所以厨师将菜品放到“菜品传递台”上的时间也不确定。 2、服务员取到菜的时间取决于厨师,所以服务员就有“等待(wait)”的状态。 3、服务员如何能取到菜?取决于厨师,厨师将菜放在“菜品传递台”上,其实就相当于一种通知(notify),原创 2015-12-11 20:39:42 · 301 阅读 · 0 评论 -
转载-java多线程与并发面试题
java多线程和并发面试题转载 2015-12-14 11:44:36 · 285 阅读 · 0 评论 -
队列应用-素数环问题
问题描述: 将从1到n这n个整数围成一个圆环,若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环。求解思路: 先将1放入素数环,设置一个队列,将2-n的自然数全部入队,每次对出对的一个元素k进行测试,若符合要求,则将k加入到素数环中,否则将k再次入队等待,重复次不步骤直至队列为空。import java.util.ArrayDeque;import java.util.Arr原创 2015-12-02 11:07:07 · 1380 阅读 · 0 评论 -
java学习之排序
排序概念:排序是将一群数据,依指定的顺序进行排列的过程。重要性:排序时数据处理中一种很重要的运算,也是很常用的运算,一般数据处理工作25%的时间都是在进行排序。交换式排序法:属于内部排序法,是运用数据值比较后,依判断规则对数据位置进行交换,以达到排序的目的。主要有冒泡排序、快速排序。冒泡排序 ”’ public class Sort { public static void原创 2015-03-27 10:34:31 · 370 阅读 · 0 评论