自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Andy

进阶的小金鱼,请大神们多多指教

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

原创 策略模式生产实践

需求:根据根据店铺分数确认店铺的活跃状态,但是不同等级的店铺判断条件不同。代码实现包路径:首先定义

2020-07-15 19:28:48 325

原创 JAVA集合类整理

集合类之间的关系如下:实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口(图片来源)Collection:(java.util.*;   JDK 1.2) 有以下核心方法:Collection接口下面有两个重要的子接口List和Set:List:允许元素重复.(JDK1.2)允许添加null,且允许添加多个null。相对于Collation加入了以下...

2018-08-28 19:01:49 8771

原创 详解List存储引用类型时需要复写 .equels()的原因

先来看下面一个例子:先定义了一个简单的POJO类,然后实例化了一个ArrayList存储Student对象import java.util.ArrayList;import java.util.List;class Student{ public int id; public String name; public Student(int id,String name) { ...

2018-08-28 18:10:56 538

原创 Java中的Propreties类

*.propreties文件是Java中的属性文件,在这种文件里面其文件内容的保存形式为:“key = value ”,通过ResourceBundle可以读取到文件的内容,但是要想编辑文件必须要使用到Propreties类。通俗点讲就相当于定义一个变量,在这个文件里面定义这些变量的值,在程序里面可以调用这些变量,好处就是,如果程序中的参数值需要变动,直接来改这个.property文件就可以了...

2018-08-25 20:05:24 567

原创 集合的四种遍历输出的方式

Iterator单向迭代输出常用方法:hasNext(),next();Collection内部实现了Iterable接口,List和Set和set的子类都可以通过这个接口实现遍历输出。以Arraylist为: List<Integer> list = new ArrayList<>(); list.add(9); list.add(5);...

2018-08-25 19:05:34 7493 2

原创 结合简单的TCP服务器/客户端理解TCP连接时的三次握手和断开连接时的四次挥手

运行环境:CentOS6.5简单 的Linux服务器:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<errno.h>#include<netinet/in.h>#include<arpa/inet.h>#include<s...

2018-08-24 19:08:06 2466

原创 Java中的基本数据类型

 java使用Unicode编码(16进制),可以保存世界上所有语言 基本数据类型       基本类型 字节数 位数 最大值 最小值 byte 1byte 8bit 2^7 - 1 -128 short 2byte 16bit 2^15 - 1 -32768 int 4byte 3...

2018-08-20 19:58:23 472

原创 fail-fast和fail-safe的区别

简介:fail-fast(快速失败)是Java对java.util包下的所有集合类的是一种错误检测机制。fail-safe(安全失败)采用安全失败机制的集合容器,在遍历时不是直接在集合内容上访问的,而是先复制原有集合内容,在拷贝的集合上进行遍历。区别:java.util包下面的所有的集合类都是快速失败的,而java.util.concurrent包下面的所有的类都是安全失败的。fail-f...

2018-08-17 18:30:02 1075

原创 详解fail-safe的实现机制

运行程序:import java.util.Iterator;import java.util.concurrent.CopyOnWriteArrayList;public class Fail { public static void main(String[] args) { CopyOnWriteArrayList <Integer>list=new CopyO...

2018-08-16 23:20:18 5291

原创 详解fail-fast产生的原因

运行以下程序:import java.util.ArrayList;import java.util.List;import java.util.Iterator;public class Fail { public static void main(String[] args) { List <Integer>list=new ArrayList<>(...

2018-08-16 22:11:54 1680

原创 反射与单级VO操作

现在有Employee这个VO类:我们我们 需要新建很多的对象,为了设置属性,我们需要不端的调用getter和setter方法。假如这个类有十几个甚至几十个那么这件事就会变得更麻烦。class Employee { private String name; public String sex; public String getName() { return name; }...

2018-08-14 13:02:22 439 2

原创 Java中ClassLoader类加载器的作用范围以及双亲委派模型

类加载器:    JVM定义把类加载阶段中的“通过类的全名称获取此类的二进制流”这种操作实现的模块叫做类加载器。    BootStrap(启动类加载器):使用C++实现,是将JVM自身的一部分;启动加载器负责加载存放于<Java_HOME>\lib目录中能被JVM识别;启动类加载器无法被java直接引用。    ExtClassLoader(扩展类加载器):他负责加载&l...

2018-08-11 10:05:12 803

原创 Java 反射的基本概念和操作

反射 : 没有反射就没有Java的任何框架    1.核心操作:Object            public final native Class<?> getClass()        Class : 反射的核心类,描述其他类的类结构    2.Class 类的三中实例化方式(每个类的Class对象有且仅有一个,由JVM在类加载时创建)        a.对象.get...

2018-08-11 00:20:23 2953

原创 Java创建线程的四种方式

1.继承Thread类实现多线程    run()为线程类的核心方法,相当于主线程的main方法,是每个线程的入口    a.一个线程调用 两次start()方法将会抛出线程状态异常,也就是的start()只可以被调用一次     b.native生明的方法只有方法名,没有方法体。是本地方法,不是抽象方法,而是调用c语言方法      registerNative()方法包含了所有与线程...

2018-07-28 22:10:16 111939 16

原创 程序员的语法糖?java泛型浅析

泛型:指的是在类定义的时候并不会设置类中的属性或方法中的具体类型,而是在类使用时再进行定义。泛型是JAVA中的语法糖。(语法糖:方便开发者开发,在运行阶段无用)泛型的作用:1.类型不一致会在编译期报错,确保在创建对象,存放对象或调用方法时使用的是正确的类型。2.杜绝了向下转型带来的安全隐患,避免在运行时出现ClassCastException 泛型类:示例:p...

2018-07-28 21:38:11 532

原创 Java中的包装类

一.包装类。包装类:就是将基本数据类型的值封装在类中让object接收装箱:将基本数据类型变为包装类对象,利用包装类提供的构造方法实现装箱处理拆箱:将包装类中包装的基本数据类型取出JDK1.5实现自动拆装箱,使用包装类就和使用基本数据类型一样规范:所有相同类型的包装类的比较一律使用.euqals();二.分类对象型包装类(object类的直接子类):Boolean(boolean) Charact...

2018-07-06 12:29:29 224

原创 Java中的Object

       1.Object类是所有类的默认父类       2.object是方法参数最高统一类型,使用Object类可以接收所有类的对象(向上转型),所有引用数据类型,数组以及接口       3.Object中最重要的两种方法:              1.toString()取得对象信息                     System.out.println(obj)调用的就是对...

2018-07-06 12:21:39 590

原创 Java中String

Outline一.实例化。1.方式(1).直接赋值:String str = “hello world”;(2).new实例化:String str1 =new String("hello world");2.区别(1).如果采用直接赋值方式为字符串创建实例化对象:JVM底层会自动维护一个对象池(字符串对象池),那么该对象会自动保存在这个对象池之中。如果下次继续采用直接赋值的方式创建String对...

2018-07-06 12:14:54 504

原创 linux 根目录各目录功能简介

CentOS_6.5:目录 说明 备注 bin 存放普通用户可执行的指令 即使在单用户模式下也能够执行处理 boot 开机引导目录 包括Linux内核文件与开机所需要的文件 dev 设备目录 所有的硬件设备及周边均放置在这个设备目录中 etc 各种配置文件目录 大部分配置属性均存放在这里 lib/lib64 开机时常用的动态链接库 bin及sbin指令也会调用对应的lib库...

2018-06-11 17:52:14 317

原创 Linux文件和目录权限浅析

一,Linux用户的类型。文件和文件目录的所有者 ->u文件和文件目录所有者所在组的用户 ->g其他用户 ->o二,Linux的权限有rwx三种.r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对目录来说,具有新建,删除,修改,移动目录内文件的权限。x(eXecute...

2018-06-11 17:19:16 211

原创 指针数组,数组指针,函数指针,函数指针数组,指向函数指针数组的指针的理解

指针数组首先我们要明白,他是一个数组,然后数组的里面存放的是指针。例如,有10个整型指针,那么就可以定义一个指针数组把这10个指针放进去。那么就可以定义成:int *p[10];数组指针数组指针是一个指针,指向一个数组。 int a[6] = { 8, 2, 3, 4, 5, 6 };//首先定义一个数组 int(*p)[6] = &a; //定义一个数组指...

2018-05-30 21:51:18 160

原创 浅析C语言中的结构体

结构体:是一系列有相同类型或不同类型构的数据构成的数据集合。结构体的学习可以从以下几个方面开始:一.结构体类型的声明。struct tag{member-list;} vaeriable-list;注:tag 要做到见名知义,可以省略但是不建议省略      member-list 不能为空     veriable-list 建议省略(在需要的时候在声明)例如建造一个学生的结构体struct s...

2018-05-26 14:09:05 6161 2

原创 c语言中函数调用的过程

一.程序在内存中的占用。要学习C语言中函数调用的过程,必须要知道程序在内存中各个区域的分布。C语言的函数调用的过程主要分布在栈中,所以我们今天主要研究栈。二.几个基本的汇编指令。    从栈顶入栈称为push     从栈底出栈称为pop三.常用寄存器。    在CPU中:读取指令(内存-->CPU)-->分析指令(CPU)-->执行指令(CPU)      1.  EAX:累积...

2018-05-11 15:30:01 29343

原创 浅析可变参数列表

场景:假如我们需要求两个数的平均数可以这样实现。int average(int n1,int n2){ int sum=n1+n2; int m=sum/2; return m}求三个数的平均数可以这样实现:int average(int n1,int n2,int n3){ int sum=n1+n2+n3; int m=sum/3; retur...

2018-05-10 23:30:03 116

原创 c语言实现三子棋

    首先创建一个头文件,在头文件中放函数的声明等。#ifndef _GAME_H_#define _GAME_H_#include<stdio.h>#include<windows.h>void game();#pragma warning(disable :4996)#endif        然后创建一个main函数,用以驱动游戏。#includ...

2018-04-19 13:39:08 112

原创 C语言操作符汇总

算术操作符+ - * / %注意:%只可用于整数,不可用于浮点数。移位操作符补充:原码:在数值前直接加符号位的表示法。+2       0000 0010-2        1000 0010反码:正数:与原码一样负数:符号位为1,数值部分按位取反。eg:+2        0000 0010-2         1111 1101补码:正数:与原码一样负数:原码符号位不变,数值部分按位取反再加1...

2018-04-09 11:41:32 194

原创 java中static关键词用法及注意事项

1.static 修饰的静态属性,静态块。static修饰的属性为全局变量,即该属性不属于某个对象,可通过类名或对象名调用该属性。在类被加载时static修饰的属性会优先于普通属性加载,且只加载一次。class Book{ public Book(String msg) { System.out.println(msg); }}public class Person { int a=...

2018-03-27 23:51:35 229

空空如也

空空如也

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

TA关注的人

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