- 博客(67)
- 收藏
- 关注
原创 LeetCode7:整数反转
题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。代码clas...
2019-09-15 22:33:25
205
原创 上传项目到github
1.注册账号2.在Github创建一个仓库3.在本地项目初始化仓库git init4.在本地项目中添加忽略的文件 .gitignore5.添加远程仓库地址git remote add origin 仓库的https地址6.本地代码添加到暂存区(git status)git add.7.本地代码提交(git status)git commit -m '注释'8.本地代码p...
2019-08-31 16:26:19
201
原创 JVM-java虚拟机
文章目录1.内存区域划分2.垃圾回收GC*****如何判断对象是否存活:对象的缓刑阶段--finalize()GC算法--分代收集JDK内置的JVM工具volatileDouble-Check-Singleton:双重单例加锁模式。在JVM中一般会遇到以下俩个概念:1.JVM 内存区域划分物理的区域划分2.JVM 内存模型(JMM)表示多线程的逻辑结构,工作内存与主内存的关系。所以一...
2019-08-31 16:18:30
202
原创 乐聊----java界面聊天室
一、前言通过对JaveSE的学习。Java聊天室由java语言实现,由客户端和服务端组成。先启动服务端然后启动客户端,服务端一个可以启动多个。客户端登录的身份被服务器验证成功后便可进行聊天。对于客户端:可以进行注册、登录、退出操作,每次操作都会弹出相应的提示框。同时如果有用户上线就会提醒其他在线用户该用户上线了,用户上线后,可以在用户列表中看到在线好友。用户可以选择一个在线好友进行私聊,或者选...
2019-08-30 23:19:05
2789
3
原创 数据库的CRUD之delete
对查询的结果进行列值更新语句UPDATE table_name SET column=expr[,column=expr] [WHERE...][ORDER BY...][LIMIT...]操作数据mysql> CREATE TABLE exam_score( -> id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, -&...
2019-08-26 22:15:08
227
原创 数据库的CRUD之Update
语句UPADATE table_name SET column=expr[,column=expr...] [WHERE...][ORDER BY...][lIMIT...]操作数据mysql> CREATE TABLE exam_score( -> id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, -> name...
2019-08-26 21:14:43
277
原创 数据库的CRUD之Retrieve
文章目录语法操作的数据库表SLECTWHEREORDER BYLIMIT语法SELECT [DISTINCT] {*|[,column]} FROM table_name [WHERE...] [ORDER BY column [ASC|DESC],...] [LIMIT]...操作的数据库表mysql> CREATE TABLE exam...
2019-08-26 16:46:13
775
原创 数据库表的CRUD之create
文章目录语法操作使用的表数据一行数据+全列数据多行数据+指定列数据插入否则更新替换语法INSERT [INTO] table_name[(column[,column]...)] VALUES (valuse_list)[,(value_liat)]...value_list :value[,value]操作使用的表数据mysql> CREATE TABLE students ...
2019-08-26 09:31:23
205
原创 MySQL数据库之库的操作
文章目录1.创建数据库1.1语法1.2实例1.3字符集和校检规则2.操纵数据库2.1.查看数据库2.2.显示数据库创建语句2.3.使用数据库2.4.修改数据库2.5删除数据库3.备份和还原4.查看连接情况1.创建数据库1.1语法CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specificati...
2019-08-24 15:47:46
165
原创 线程的状态及转换关系
文章目录1.新建状态new:2.就绪状态Runnable:3.运行状态Running4.阻塞状态Blocked5.死亡状态Dead状态之间的转换关系1.新建状态new:线程对象被new创建后会进入新建状态Thread thread = new Thread();2.就绪状态Runnable:就绪状态,即可执行状态。线程创建后,其他线程调用该对象的start()方法。线程处于就绪状态等待...
2019-08-24 00:20:10
564
原创 java线程池详解
文章目录线程池的三个优点线程池的继承关系俩个接口俩个类线程池的实现原理线程池的创建1.通过ThreadPoolExecutor的构造方法2.创建线程池语句向线程池提交任务。1.execute()方法2.submit()方法3.俩个方法的具体实践关闭线程池1.原理:1.shutdown()2.shutdownNow()3.检查关闭--补充Executor框架1.产生2.Executor的俩层调度模型...
2019-08-23 14:39:18
183
原创 史上最强大网络总结--面试必备,码住!!!
文章目录一、TCP/IP五层(四层)模型。二、URL三、HTTP协议、UDP协议、TCP协议、IP协议、MAC帧1.HTTP协2.UDP③可靠性④TCP的性能4.IP协议。5.MAC帧四、端口号。1.知名端口号:2.面试题:ping是什么端口?五、命令:六、协议1.ARP:...
2019-08-16 00:59:32
346
原创 集合框架中的List接口以及它的子类
概述开发中,List接口的使用达到collection接口的80%。集合处理时,优先考虑List接口。俩个扩充方法方法名称描述public E get(int index)根据索引取得保存数据...
2019-08-08 10:57:24
137
原创 Collection接口-集合框架的1号爸爸
java类集类集实际上是对象动态数组。为了解决数组长度的固定,JDK1.2提出了类集框架。Collection集合接口
2019-05-08 15:19:51
207
原创 多线程的同步问题
解决线程安全问题synchronized实现同步处理(加锁处理)同步代码块在方法中使用synchronized(对象),一般可以锁定当前对象this。表示同一时刻只有一个线程能够进入同步代码块,但是多个线程可以同时进入方法。同步方法在方法声明上加synchronized,表示此时只有一个线程能够进入同步代码块。synchronized对象锁概念synchronized(this...
2019-04-29 17:47:41
341
原创 java的守护线程
java有俩种线程:用户线程、守护线程。判断是否为守护线程:isDeamon()方法。返回true:守护线程返回false:用户线程典型的守护线程:垃圾回收线程只有当前JVM进程中存在任何一个非守护线程没有结束,守护线程就在工作。只有当最后一个非守护线程结束时,守护线程才会随JVM一同停止工作。...
2019-04-29 17:03:49
117
原创 多线程操作方法
1.线程休眠(sleep)2.线程让步(yield)3.等待其他线程终止(join)4.线程停止线程休眠(sleep)public static native void sleep(long mills) throws InterruptedException 让当前线程暂缓执行(running->blocked),等到了预计时间后再恢复执行(blocked->run...
2019-04-20 18:23:09
155
原创 进程与线程的区别
概念进程操作系统中一个程序的执行周期线程一个程序同时执行多个任务,通常来讲一个任务就称为一个线程区别1.与进程相比,线程更加轻量级。创建、销毁一个线程,比启动、撤销一个进程消耗要小的多。一个进程中所有线程共享此进程的所有资源。2.没有进程就没有线程。进程一旦终止,其内线程也将不复存在。3.进程是操作系统资源调度的基本单位,进程可以共享资源;线程需要依托进程提供的资源,无法...
2019-04-20 18:03:23
123
原创 线程池的初次接触
这篇关于线程池的文章写的不完整,点击下方链接查看我的另一篇线程池文章,帮你拿下线程池!https://blog.youkuaiyun.com/hgelin/article/details/1000344542.线程池(juc包下)-面试重点1)使用线程池的优点如下:(1)降低资源的消耗:通过重复利用已创建的线程降低线程创建与销毁带来的消耗。 ...
2019-04-17 12:29:58
261
原创 String类俩个sb----StringBuffer、StringBuilder{面试}
java中StringBuffer、Stringbuilder的存在是为了方便字符串的修改。StringBuffer1.String的内容不可修改,而StringBuffer的"内容可以修改"。2.字符串修改:public StirngBuffer append(各种数据类型)。3.String和StringBuffer的相互转换String->StringBuffer...
2019-02-25 18:47:23
154
原创 java的String类
String类俩种实例化方式字符串相等比较*string类匿名对象---字符串常量String类不可变更操作*对象池*String类提供的方法作为javase的一个类,String也存在构造方法,对于String对象的实例化可以通过直接赋值、构造方法初始化俩种方式。1.比较字符串:equals()方法。比较大小通常有俩种方式:1)==2)equals()...
2019-02-24 23:27:44
131
原创 java中的关键字
关键字定义:所有程序中有特殊意义的文字标记。1.用于定义访问权限修饰符的关键字:private、public、protected2.用于定义类、函数、变量修饰符的关键字:abstract、final、static、synchronizeabstract:抽象;abstract声明类是抽象类,指明该类不可以被实例化,但是可以被继承。final:修饰类不能有子类、修饰方法...
2019-02-15 19:55:35
203
原创 Java新特性-泛型
1.JDK1.5新特性1.1可变参数问:要求方法可以接收任意个整数并且返回它们的相加结果。要求:一个方法只允许有一个可变参数,并且只允许写在最后。语法:类型…参数名称。可变参数的本质还是数组。1.2for-each循环for(数据类型 临时变量 : 数组名称){} 用于数组与类集的简单输出。1.3静态导入:不同包中,在a包中调用b包的类中的静态属性,可以在b包中用static导...
2019-02-15 15:55:55
375
原创 java实现银行家算法
运行结果:初始状态下输入(Need是Max-Allocation得到的)进程 Max Alocation Need Availablep0 6 5 |1 3 |5 2 |2 3 p1 3 8 |2 6 |1 2 |p2 4 7 |2 3 |2 4 |检查t0时刻安全性并输出安全序列银行家算法:1)当不满足Request[]<=...
2019-02-14 19:22:08
843
原创 单例模式---java实现
1.单例模式 定义:一个类只允许产生一个实例化对象。 单例模式设计思路:” a.对象如何产生?通过类的构造方法 b.要想限制对象的产生?通过构造方法限制。 c.构造方法私有化,类外部无法产生实例化对象。所以在类内部提供实例化对象。 单例模式设计原理: 1.1.构造私有 1.2.类内部提供静态对象 1.3.提供静态方法返回唯一对象。 2.单例模式分类:...
2019-02-14 18:53:06
194
原创 定长顺序表实现----源代码
#pragma oncetypedef int DataType;#define N 10typedef struct SeqList{ DataType _array[N]; size_t _size;}SeqList;//增删查改void SeqInit(SeqList* sq);void SeqPushFront(SeqList* sq,DataType x)...
2018-11-26 23:00:04
166
原创 【java】内部类
1.内部类的定义与使用:在类内部进行其他类结构嵌套操作实现一个简单的内部类:对以上代码进行修改,在类外部实现内部类:1.内部类的优点: a.内部类与外部类可以方便的访问彼此的私有域(包含私有方法,私有属性) b.内部类是另外一种封装(保护性),对外部的其他类隐藏---心脏包在人身体内 c.内部类可以实现java单继承的局限。& d.内部类可以对同...
2018-11-25 23:37:14
109
原创 java--多态
在java中,对多态的核心表现有以下俩点: 1.方法的多态性,①方法的重载:在一个类中,方法名相同,参数列表不同(参数个数,类型,次序不同),返回值相不相同没关系 ②方法的覆写:在不同作用域中(父类和子类),函数名相同,参数相不相同无所谓。 2.对象的多态性:(抽象类和接口才能体会到用处)前提:方法覆写。 俩种表现方式...
2018-11-23 12:31:19
134
原创 java--代码块
1.代码块的定义和使用1.1普通代码块1.2构造块**1.3静态代码块**1.4同步代码块1.代码块的定义和使用根据代码块出现的位置以及关键字,分为以下四种代码块属性在使用前进行处理,可以考虑用到代码块1.1普通代码块定义在方法中的代码块。一般方法中代码过长,为避免变量重名,使用普通代码块。使用较少,了解概念即可public static void m...
2018-10-31 18:55:48
141
原创 JAVASE之面向对象编程--类和对象1
1.面向编程范式--面象对象三大特征2.private实现的封装处理--getter setter3.构造方法--this关键字4.static关键字 1.面向对象编程范式(c++,java.Go)--能进行现实生活的抽象--狗吃粮 每个对象--类 属性以及方法 OOA: 面向对象分析 OOP:面向对象编程 OOD:面向对象设计 ...
2018-10-29 21:32:16
243
原创 【JAVA】数组
1.数组初始化 1.1动态初始化(声明并开辟数组) 数据类型[] 数组名称 = new 数据类型 [长度] eg: int[] data = new int[5];声明并开辟一个整型数组。 a.数组通过下表索引来取得元素,下标默认从0开始。数组下标超出数组长度,回报一个数组越界异常(运行时异常)。 b....
2018-10-29 18:45:01
107
原创 【C++】深入探索构造函数---初始化列表
·1.初始化列表是什么·2.使用初始化列表更高效,为什么?·3.哪些成成员变量必须放在初始化列表里?·4.成员变量按声明顺序初始化,而不是初始化列表。·5.声明和定义的区别·6.那些类必须自己写构造函数类的成员变量有俩种初始化方式:1.初始化列表。2.构造函数体内进行赋值。之前使用的初始化方式是第二种,那么第一种方式初始化列表是什么呢?1.初始化列表是什么?初始化列表是以...
2018-09-30 15:14:11
462
原创 【C++】类的默认成员函数
1.构造函数2.拷贝构造函数3.析构函数、4.运算符重载---实现一个日期计算器 c++类有6个默认成员函数:构造函数,拷贝构造函数,析构函数,赋值操作符重载。取地址操作符重载,const修饰的取地址操作符重载。其中前四个默认成员函数是我们重点研究对象。1.构造函数成员变量为私有的,要对他们进行初始化,必须用一个公有成员函数来进行。同时这个函数有且仅在定义对象时自...
2018-09-24 15:04:37
262
原创 日期计算器
class Date{public: //没用初始化列表 Date(int year = 1999,int month = 1,int day = 1)//最好定义为全缺省 { //检查日期是否合法 if(year < 1900 || month < 1 || month > 12 || day < 1 || ...
2018-09-21 12:36:28
681
原创 【C++】继承(二)多继承,虚函数,虚继承
1.单继承与多继承2.菱形继承3.虚继承---解决菱形继承的二义性和数据冗余的问题4.虚函数与多态5.继承体系同名函数的关系 1.单继承与多继承 1.1单继承: 一个子类只有一个直接父类。 class Personclass Student : public Personclass Monitor : public Student 1.2多继...
2018-09-18 19:56:01
7147
原创 【Linux】进程状态。重点僵尸进程,孤儿进程
我们都知道进程可以认为是一个运行的程序,那么为了弄明白正在运行的进程是什么意思,我们需要先了解进程的状态。。。下面的状态在kernel源代码中定义: 1.进程状态 R运行状态:并不意味着进程一定在运行中,它表明进程要么在运行中要么在运行队列里。 S睡眠状态(可中断睡眠):意味着进程在等待事件完成。 D磁盘休眠状态(不可中断睡眠):这个状态...
2018-09-16 18:26:29
156
原创 【Linux】task_struct
要了解task_struct必须先了解进程1.进程:1.1进程概念: 我们可以说是正在运行的程序。站在内核的角度上来说进程是担当分配系统资源(cpu资源,内存)的实体。在操作系统角度来说,进程是一个结构体-PCB--Linux下有自己的名字task_struct。1.2描述进程---PCB 进程信息被放在一个成为进程控制块的结构体中,可以理解为进程属性的集合。课本上称之...
2018-09-16 15:35:26
422
原创 【Linux】安装vim gcc/g++ gdb
在Linux下,编辑一个代码需要用到vim,编译c语言需要gcc,编译c++需要g++,调试程序需要gdb。这个工具都需要自己进行安装。那么他们是怎么安装的?vim1.在命令行输入vi,查看vim信息如下:2.退出后在命令行输入ls -a,查看是否有.vimrc和.viminfo这样的配置文件存在,我的下面俩个文件都存在 安装vim请参考以下链接 https://blog.c...
2018-09-14 13:05:53
926
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人