自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 redis

redisredis是现在最受欢迎的NoSQL数据库之一,包含多种数据结构,其具有以下特性:基于内存运行,性能高效支持分布式,理论上可以无限扩展key-value存储系统开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API为什么使用redis主要基于性能和并发两方面考虑性能:对于一些“热点”数据(高频读,低频写),或者是一些执行耗时特别久,且结果频繁不动的数据,这样的数据特别适合放入缓存中处理。这样后面的

2021-05-06 21:26:55 231

原创 Java中的线程池

为什么要有线程池?通过对线程的学习,我们在使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题,如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。此时就需要引入线程池的概念,在Java中可以通过线程池使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务。...

2019-05-08 14:45:03 132

原创 HashTable和ConcurrentHashMap线程安全保证机制(jdk1.7)

HashTable的线程安全HashTable集合使用synchronized关键字来保证线程安全,但如果线程竞争很激烈,即同时有多个线程访问同一个HashTable对象,HashTablede效率就会变得非常低下。因为HashTable中的同步方法是由synchronized关键字修饰的,作用的是对象,当一个线程访问HashTable的方法时,其他线程访问HashTable的同步方法时,其他线...

2019-04-25 19:18:07 395

原创 自定义实现迭代器

关于Java集合类的迭代器的概念可以看下面的博客链接Java集合类迭代器自定义迭代器这里我们用链表类作为说明首先,自定义一个链表类,并实现Iterable接口,因为要重写迭代器方法class LinkList<T> implements Iterable<T> { class Entry<T> {//节点类 private T .

2019-03-06 13:33:21 1187

原创 Java集合类迭代器

迭代器概念迭代器是一种设计模式,提供了一种方法,来对容器、集合进行遍历的方式,不需要关注底层数据结构和数据类型,来达到底层和上层遍历解耦的目的方法boolean hashNext() 判断集合是否还有元素 true / falseE next() 返回当前数据void remove() 删除元素注意在使用迭代器时,hasNext,next需要交替出现要自定义迭代器类...

2019-03-06 13:19:27 787

原创 jdk1.7.0_80版本 ArrayList集合解析

ArrayLIst集合存在于Java.Util包路径下重复性可以存放重复的数值null值可以有null值存在有序性可以保证元素插入有序底层数据结构ArrayList集合底层元素保存在数组中源码研究继承关系public class ArrayList<E> extends AbstractList<E> implem...

2019-03-06 11:56:22 701

原创 泛型,通配符

泛型泛型的意义:1.可以对类型进行自动检查。并不是替换,而是在编译期间进行检查2.自动对类型进行转换。泛型到底是怎么编译的?类型的擦除机制===》向上擦除===》Object类在编译器编译期间,把泛型全部擦除为Object类型如我们可以写一个泛型栈如下:其中T 只是一个类型占位符 表示GenericStack是一个泛型类class GenericStack<T> ...

2018-11-19 17:52:45 365

原创 反射,枚举,异常

反射对任一类,能知道该类的所有属性和方法;对任一对象,能调用它的任意方法和属性获取Class对象要想对类进行反射,首先需要获取类的对象,有三种方法每个类的Class对象数量只有一个1.通过getClass获取对象People p1 = new People();Class c1 = p1.getClass();2.类名.classClass c2 = People.class;...

2018-11-17 17:46:51 354

原创 抽象类、密封类、接口

抽象类抽象类1.包含抽象方法的类,叫做抽象类。由abstract修饰。2.抽象类当中:可以有非抽象方法。3.抽象类不能创建实例对象。抽象方法1.在抽象类内部不给予实现。当有一个类,继承了当前的抽象类后,需要实现。2.抽象方法不能被private修饰,如果不加访问修饰限定符,默认为public。抽象类的派生类1.如果是普通类,那么必须实现抽象类的抽象方法。2.如果是抽...

2018-11-03 18:12:40 278

原创 单利模式 类的继承和多态

单利模式单利类只能有一个实例单利类必须自己创建自己的唯一实例单利类必须给所有其他对象提供这一实例单利模式适用条件:一个类可以定义无数个对象,但是只能有一个实例单利模式有两种:懒汉式、饿汉式懒汉式单利模式,非线程安全:代码中有四种创建对象的方法,第四种为完善的方法,保障了在多个线程进入的情况下,可以仅产生一个实例class SingleClass1 { private s...

2018-10-31 13:29:59 241

原创 类和对象

class Stack { private int top; private int[] elem;}public class TestDemo { public static void main(String[] args) { Stack stack = new Stack(); }}如上图,Stack为类,如果想要调用类中的方...

2018-10-29 21:04:49 116

原创 递归

递归优点:代码简单 代码量少递归缺点:不易理解用递归解决实际问题,就是在循环中调用函数本身,而且参数趋近于某个临界值时会返回值下面列举几个例子:1.求阶乘public class TestDemo { //递归求阶乘 public static int fac(int n) { int tmp = 1; if(n == 1) { ...

2018-10-27 15:49:05 153

原创 String类中的方法

1.lengtn():获取字符串长度2.isEmpty():确认字符串是否为空3.charAt(int index):获取Index索引处字符的值public class StrSource { public static void main(String[] args) { String str = "hello world"; System....

2018-10-25 19:16:15 237

原创 String类 --- 字符串

字符串地址问题定义字符串时的地址在java中字符串用String定义,用不同方法定义的字符串储存位置不同,具体如下: String str1 = "hello"; String str2 = new String("hello"); String str3 = "he"+"llo"; String

2018-10-25 14:40:13 314

原创 java三种排序及二维数组

排序冒泡排序public class TestDemo { //冒泡排序 public static void bubbleSort(int[] array) { boolean val = false; for (int i = 0; i < array.length - 1; i++) { for (int j ...

2018-10-23 20:00:01 2932

原创 用java写一个奇数魔方阵

魔方阵即下图所示一个矩阵,每行每列及对角线相加的值都相等,称之为魔方阵魔方阵填写规则:1、"1"写在第一行最中间的位置2、由“1”开始。按顺序填写,每次填写位置为当前位置的上一行,下一列在填写过程中会遇到几种问题:以上四种情况中红框表示当前位置上一行下一列所在地,但是会发现每种情况都会越界,所以数组中如何放入该值已写明由写入步骤可知在编写代码时会遇到四种情况,为了代码书

2018-10-23 15:35:59 2765 2

原创 java四种拷贝方式及常见的数组操作方法

2.给定一个数组,将数组中奇数放在偶数之前public class TestDemo2 { public static void handle(int[] array) { int i = 0; int j = array.length - 1; while (i < j) {//i从数组第一个元素开始,j从数组最后元素开始,当两者...

2018-10-19 12:15:14 1335

原创 java循环语句,一维数组

1、实现二分查找算法:有序的数组public class TestDemo1 { public static int binary(int[] array, int key) {//key为要查找的数 Arrays.sort(array);//正序排列数组 System.out.println("由从小到大顺序排列数组:&

2018-10-16 16:22:56 2161

原创 java中三种基本语句及四道例题

1.求斐波那契数列前40项的和public class TestDemo { public static void fibSum(int n){//定义一个斐波那契数列求和方法,参数n为要求多少项的和 int[] fib = new int[n];//定义一个一维数组存放斐波那契数列 fib[0] = 1; fib[1] = 1;//定义斐...

2018-10-13 23:06:29 839

原创 Java基础知识2

1.装包拆包问题:class TestDemo1{ public static void main(String[] args) { Integer i = 100; Integer i2 = 100; System.out.println(i == i2);//输出结果true Integer i3 = 200; ...

2018-10-11 15:44:18 196

原创 Java基础知识1

public class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld"); }}

2018-10-01 17:30:48 140

空空如也

空空如也

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

TA关注的人

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