自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA线程的同步与死锁

同步:所有的线程按照顺序一个一个的进入到方法中使用synchronized来处理同步问题同步方法同步代码块synchronized的实现原理synchronized是通过monitor实现的当执行monitorenter时,首先判断该目标锁的计数器是否为0,若为0,就将计数器加一,并且当前线程就为该对象的持有线程若计数器不为0,判断该对象的持有线程是否为当前线程,若是,就给计...

2019-08-27 17:58:32 99

原创 多线程的四种实现方式

继承Thread类实现多线程利用Runnable接口实现多线程Callable实现多线程继承Thread类实现多线程自定义的类继承Thread类后,覆写父类中的run方法,通过start方法来调用run方法启动线程简单写下代码:public class Main{ public static void main(String args[]) { //创建...

2019-08-10 10:35:22 215

原创 TCP/IP协议簇(四层模型)

TCP/IP协议采用了四层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求四层模型:链路层:负责设备之间数据帧的识别和传送网络层:负责地址管理和路由的选择(IP/ARP,ICMP…)传输层:负责主机之间的数据传输(TCP,UDP,SCTP…)应用层:负责应用程序间的沟通(HTTP,DNS,URI,HTML…)应用层应用层最常见的协议就是HTTP协议HTTP协议是...

2019-08-08 19:51:23 1574

原创 java中的异常与捕获

异常的继承结构:所有的异常都是从Throwable继承来的,它拥有两个子类Error和ExceptionError反应的是java运行时的内部错误和资源耗尽错误,应用程序不抛出此异常类,只会告知用户并且终止程序。Exception之下有两个子类:RuntimeException和IOexceptionRuntimeException是因为程序错误所产生的,I/O错误产生的是IOExcep...

2019-08-03 16:35:12 131

原创 工厂设计模式与代理设计模式

工厂设计模式分为三种:简单工厂模式工厂方法模式抽象工厂模式简单工厂模式专门定义一个类来创建其他类的实例(将类的实例化交给工厂来实现)简单工厂模式://简单实现一个客户买手机的过程import java.util.Scanner;public class Main { public static void main(String args[]) { ...

2019-07-31 20:25:00 263

原创 抽象类与接口

抽象类的定义与使用抽象类:抽象类是在普通类中扩充了一些抽象方法抽象类需要注意的地方:抽象类必须有子类,抽象类的子类必须覆写所有的抽象方法抽象类不一定含有抽象方法,含有抽象方法的类一定是抽象类private和abstract不能同时使用,final和abstract不能同时使用抽象类的实例化要依赖其子类简单的写一个抽象类:public class Main { p...

2019-07-27 16:01:39 81

原创 继承的定义与使用(覆写)

继承是面向对象的特征之一,继承的主要作用是在原有的基础上进行扩充

2019-07-26 18:24:32 165

原创 内部类的定义与使用

内部类的概念:在一个类的内部进行其他类的嵌套内部类://外部类class Out{ private String str="外部类的私有属性"; //内部类 class In{ public void print(){ System.out.println(str); } }}内部类的分类成...

2019-07-25 20:48:01 237

原创 this ,static , final关键字

一:this关键字主要有三个用途:调用当前类属性调用当前类方法表示当前对象1 . this调用本类属性(构造方法中):public Person(String name,int age){ this.name = name ; this.age = age ;}有效的避免了当参数与类中属性同名时,类中属性无法被正确赋值的情况。因此,只要在类中方法访问类中属性,...

2019-07-24 19:59:26 114

原创 类与对象的定义与使用

一:基本概念类:是一个抽象的概念,是具有共同性能一类事物的统称对象:是一个具体的事物定义一个类class 类名称{ 属性1; 属性2; ...... 属性n; 方法1(){ }; 方法2(){ }; ...... 方法n(){ };}产生类的对象:类名称 对象名称 = new 类名称()使用类中的方法对象...

2019-07-24 19:07:18 471

原创 java中数组的使用

一:基本概念1 . 数组的动态初始化数据类型[ ] 数组名称 = new 数据类型[ 数组长度 ];定义一个int型数组:int[] array=new int[10];2 . 引用传递同一块堆空间可以被不同的栈所指向用以下代码来看:public class Main { public static void main(String[] args) {...

2019-07-22 18:43:53 83

原创 方法重载

特点:方法的名称,返回类型,方法权限都相同,只有参数列表不同。举个方法重载的例子: public static int add(int x,int y){ return x+y; } public static int add(int x,int y,int z){ return x+y+z; }重要:方法重载中,方法的返回值一...

2019-07-22 17:27:01 64

原创 归并排序

特性:归并的缺点在于需要O(N)的空间复杂度时间复杂度:O(N*logN)空间复杂度:O(N)稳定性:稳定归并排序的原理我以图片的形式展现出来:归并排序的代码:public static void mergeSort(int[] array,int start,int end){ if(start==end){ retur...

2019-05-06 17:25:19 75

原创 数据结构之堆排序与快速排序

堆排序特性:堆排序,效率高。时间复杂度:O(N*logN)空间复杂度:O(1)稳定性:不稳定public static void adjust(int[] array,int start,int end){ int tmp=array[start]; for(int i=2*start+1;i<=end;i=2*i+1){ ...

2019-04-29 18:49:12 135

原创 数据结构--无头单向非循环链表的实现

无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构。//写一个接口public interface ILinked { //头插法 void addFirst(int data); //尾插法 void addLast(int data); //任意位置插入,第一个数据节点为0号下标 boolean add...

2019-04-25 18:31:24 85

原创 数据结构的插入排序

插入排序分为直接插入排序和希尔排序1 直接插入排序时间复杂度:O(N²)如果给定的是一个有序数组,时间复杂度:O(N²)稳定性:稳定public static void insertSort(int[] array){ int tmp=0; for(int i=1;i<array.length;i++){ tmp=arra...

2019-04-21 17:32:42 155

原创 饿汉式单例和懒汉式单例

当我们想要一个类只产生一个实例化对象时,就需要用到单例模式,单例设计模式分为两种:饿汉式和懒汉式。1 饿汉式单例特点:构造方法私有化,外部无法产生新的实例化对象,只能通过static方法取得实例化对象public class Singleton { private final static Singleton INSTANCE = new Singleton(); priv...

2019-04-11 21:57:08 104

原创 阿里JAVA校招笔试题

经典题经典题!!! 必刷

2019-03-08 21:41:48 1084

原创 用JAVA完成一个类的定义

类的定义和引用关系

2019-03-07 15:51:47 722

原创 Java数组章节练习题基础版

这组代码可以巩固我们的基础,在这组代码里,一共完成了七个方法。首先,定义一个类public class ArrayUtils{输出数组最大值public static int arrayMaxElement(int[] data){ java.util.Arrays.sort(data); int max = data[data.length-1]; System.o...

2019-03-05 19:37:57 647

原创 库函数strcmp和strncmp用C语言实现

strcmp是一个字符串比较函数,比较的是对应字符的ASCII值,因为软件的不同,输出的结果可能有所不同,我所用的软件当dest&gt;src时,输出1;当dest&lt;src时,输出-1;当dest==src时,输出0;就此结果,来进行实现此函数。int my_strcmp(char* str1, char* str2){ assert(str1); assert(str2); w...

2019-02-24 23:09:38 274

原创 库函数strchr用C语言编程实现

strchr的功能是找一个字符有没有在一个字符串里char* my_strchr(const char* p,const char n){ assert(p); assert(n); char* ret = (char*) p; while (*ret){ while (*ret&amp;&amp;(*ret != n)) { ret++;...

2019-02-24 15:31:17 230

原创 库函数strstr用C语言编程实现

strstr的功能是找一个字符串有没有在另一个字符串中出现char* my_strstr(const char* str1, const char* str2){ assert(str1); assert(str2); char* ret = (char*)str1; while (*ret) { char* s1 = ret; ...

2019-02-24 15:26:43 267

原创 库函数strcat用C语言编程实现

strcat是一个字符串追加函数,在实现时我们要注意,目标函数必须可修改,必须足够大,两个字符串都必须有"\0"作为结束标志。char* my_strcat( char* arr,const char* p){ assert(arr); assert(p); char* ret = arr; while (*arr != '\0') { ...

2019-02-23 11:45:39 669

原创 库函数strcpy用C语言编程实现

面试题里经常会有这些关于自己编程库函数的题,这篇博客先对strcpy进行模拟实现,后续会对其他的一些库函数也进行实现。strcpy的功能就是复制字符串在模拟这个函数时,我们要注意目标字符串必须可修改,必须足够大,源字符串必须以 “\0” 结束。char* my_strcpy(char *arr1, const char* arr2){ assert(arr1 != NULL);...

2019-02-23 11:36:56 297

原创 用C语言实现扫雷

扫雷小游戏大家应该都玩过,今天,我要用C语言来实现这个游戏。那么,如何完成扫雷小游戏?我之前写过一个三子棋的代码,扫雷的完成中很多函数都可以模仿我们三子棋的函数。首先,需要顺一下扫雷的思路:需要一个菜单,让玩家选择开始游戏或者退出游戏初始化数组打印棋盘设置雷玩家扫雷有一些细节我们需要注意:需要两个棋盘,一个是展现给玩家的,一个是让电脑生成雷的,在坐标周围没雷的时候可以实现展开。...

2019-02-23 02:20:48 157

原创 指针和数组题型

刷了一些关于指针和数组的题,已经把输出结果都注释上了,有些比较爱出错,容易让我入坑的地方都加了解释。这套题不仅仅是深入了解了指针和数组,还需要你对 sizeof 和 strlen 的运用完全掌握。一维数组#include &lt;stdio.h&gt; #include&lt;stdlib.h&gt;int main(){ int a[] = { 1, 2, 3, 4 }; prin...

2019-02-21 20:19:17 115

原创 一级指针 二级指针 指针和数组 指针数组

指针在计算机科学中,指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,因此,将地址形象化的称为“指针”。指针是个变量,存放内存单元的地址一级指针 int a = 10; int* p = &amp;a;在上边这个代码块中,p就是一个指针变量,p里储存的是a的地址,p的类型是 int* ,代表这个指针变量里储存的是...

2019-02-21 17:07:35 358

原创 三子棋小程序用C语言实现

三子棋

2019-02-20 15:58:11 170 3

原创 C语言的操作符总结

C语言中的操作符我简单的罗列了出来,以及它如何使用和需要注意的地方,有错误或者不够完整的地方希望大家能指出。

2019-02-17 20:43:14 66

空空如也

空空如也

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

TA关注的人

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