自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王者生辉的博客

码出世界,只为你

  • 博客(89)
  • 资源 (2)
  • 收藏
  • 关注

翻译 C/C++面向过程与面向对象的区别

C++是面向对象的(object oriented programming—OOP)。强调对象,由对象实施动作。C是面向过程的(procedure oriented programming—POP)。强调执行的过程。总结起来就是:面向对象是首先抽象出各种对象(各种类),把数据和方法都封装在对象中(类),然后各个对象之间发生相互作用。面向过程是将问题分解成若干步骤(动作),每个步骤(动作)用一个函数来实现,在使用的时候,将数据传递给这些函数。举个栗子:下雨了,人打开雨伞C++是这么做的

2022-04-02 10:36:00 3580 1

转载 C++ 虚函数和纯虚函数的区别

C++ 虚函数和纯虚函数的区别首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。1、简介假设我们有下面的类层次:实例class A { public: virtual void foo() { cout<<"A::...

2022-04-02 10:19:36 234

翻译 虚函数 纯虚函数 普通函数的区别

1.虚函数(impure virtual)  C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现。  子类可以重写父类的虚函数实现子类的特殊化。  如下就是一个父类中的虚函数:class A{public: virtual void out2(string s) { cout<<"A(out2):"<<s<<endl; }};2.纯虚函数(pure virtu

2022-04-02 10:07:28 2542

原创 设计模式的六大基本原则

基本原则: 迪米特法则,最少知道原则 单一职责原则 开放-封闭原则 (构造抽象来隔离那些变化,对修改封闭,对扩展开放,加减乘除运算器) 依赖倒转原则 (抽象不应该依赖细节,细节应该依赖抽象,也就是针对接口编程,而不是针对实现编程,计算机主板接口) 里氏代换原则 (子类型必须能够替换掉他们的父来行 Animal a = new Cat()) 接口隔离原则 找IT部比找具体的某个人要好不管公司和人,找IT部就可以了,不管认不认识人.

2021-09-29 09:08:28 166

原创 数据结构中四种数据存储结构---顺序存储 链接存储 索引存储 散列存储(hash存储)

顺序结构和链接结构适用在内存结构中。索引结构和散列结构适用在外存与内存交互结构。顺序存储在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构。特点:随机存取表中元素。插入和删除操作需要移动元素。链接存储在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。它不要求逻辑上相邻的元素在物理位置上也相邻.因此它没有顺序存储结构所具有的弱点,但也同时失去了顺序表可随机存取的优点。特点:比顺

2021-09-04 09:36:49 3306

原创 值传递和引用传递经典例题

class Value{ public int i=15;}public class Test{ public static void main(String argv[]){ Test t=new Test( ); t.first( ); } public void first( ){ int i=5; Value v=new Value( ); v.i=25; second(v,i); System.

2021-09-01 20:27:29 330 1

原创 接口和抽象类的特点

抽象类特点:1.抽象类中可以构造方法2.抽象类中可以存在普通属性,方法,静态属性和方法。3.抽象类中可以存在抽象方法。4.如果一个类中有一个抽象方法,那么当前类一定是抽象类;抽象类中不一定有抽象方法。5.抽象类中的抽象方法,需要有子类实现,如果子类不实现,则子类也需要定义为抽象的。6,抽象类不能被实例化,抽象类和抽象方法必须被abstract修饰关键字使用注意:抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、native访问

2021-09-01 08:53:43 172

原创 存储引擎myisam / innodb/ memory 的区别(附图)

存储引擎 myisam / innodb/ memoryMyISAM存储引擎如果表对事务要求不高,同时是以查询和添加为主的,我们考虑使用myisam存储引擎. 比如 bbs 中的 发帖表,回复表.INNODB存储引擎: 对事务要求高,保存的数据都是重要数据,我们建议使用INNODB,比如订单表,账号表.Memory 存储我们数据变化频繁,不需要入库,同时又频繁的查询和修改,我们考虑使用memory, 速度极快.问 MyISAM 和 INNODB的区别(主要)1.

2021-08-31 16:08:15 231

转载 linux常用命令

linux常用命令(基础)1. man 对你熟悉或不熟悉的命令提供帮助解释eg:man ls 就可以查看ls相关的用法注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。2. ls 查看目录或者文件的属*,列举出任一目录下面的文件eg: ls /usr/manls -la.d表示目录(directory),如果是一个”-”表示是文件,如果是l则表示是一个连接文件(link)b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x)。3. cp

2021-08-31 15:24:54 80

原创 过滤器和拦截器的区别

过滤器和拦截器的区别:  ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。  ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。  ③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。  ④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。  ⑤在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。  ⑥拦截器可以获取IOC容器中的各个bean,而过滤器就不行,这点很重要,在拦截器里注入一

2021-08-31 14:30:14 118

原创 事务四个基本特征或 ACID 特性

事务四个基本特征或 ACID 特性。ACID,是指数据库管理系统(DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。在数据库系统中,一个事务是指:由一系列数据库操作组成的一个完整的逻辑过程。例如银行转帐,从原账户扣除金额,以及向目标账户添加金额,这两个数据库操作的总和,构成一个完整的逻辑

2021-08-31 10:45:01 146

转载 HTML5和CSS3新特性总结

HTML51.HTML5新元素HTML5提供了新的元素来创建更好的页面结构: 标签 描述 <article> 定义页面独立的内容区域。 <aside> 定义页面的侧边栏内容。 <bdi> 允许您设置一段文本,使其脱离其父元素的文本方向设置。 <command> .

2021-08-28 14:42:50 249

翻译 JS、JSP、JQuery区别

JS 和 JSP 一样吗?—— 肯定不一样啊。但是很多人对于js和jsp这两者,一直处于迷糊状态。今天就简单的介绍下两者的区别。1、JSP全称是java server page是JAVA企业应用的一种动态技术 用于java语言的web开发方向。JS全称是javaScript是一种页面脚本语言,与java没有关系,语法相似而已,由以前的livescript转化而来,为了敢时髦改成了javacript,.js文件一般是以javascript为语法写的一些为html元素服务的函数/方法的库文件。2..

2021-08-28 12:00:00 1698

原创 框架和设计模式的区别

框架和设计模式的区别框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解

2021-08-28 10:24:20 926

翻译 Java设计模式有哪些?设计模式分类图

设计模式的三个分类 创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。结构型模式:把类或对象结合在一起形成一个更大的结构。行为型模式:类和对象如何交互,及划分责任和算法。如图所示:各分类中模式的关键点 ...

2021-08-28 09:02:48 267

原创 简单讲一下java的跨平台原理,JVM简介,JVM架构图

简单讲一下java的跨平台原理由于各操作系统(windows,liunx等)支持的指令集,不是完全一致的。就会让我们的程序在不同的操作系统上要执行不同程序代码。Java开发了适用于不同操作系统及位数的java虚拟机来屏蔽个系统之间的差异,提供统一的接口。对于我们java开发者而言,你只需要在不同的系统上安装对应的不同java虚拟机、这时你的java程序只要遵循java规范,就可以在所有的操作系统上面运行java程序了。Java通过不同的系统、不同版本、不同位数的java虚拟机(jvm),...

2021-08-28 07:19:17 763

原创 二分查找:循环与递归分别实现

将循环转化为递归:循环和递归函数是能够相互转换的。 区别在于,使用递归函数极少被迫修改任何一个变量 —— 只需要将新值作为参数传递给下一次函数调用。 这就使得您可以获得避免使用可更新变量的所有益处,同时能够进行重复的、有状态的行为。下面还是以阶乘为例子,循环写法为:...

2021-08-27 16:14:30 156

原创 类加载过程

类加载过程:public class HelloLoader {public static void main(String[] args) {System.out.println("谢谢ClassLoader加载我....");}}它的加载过程是怎么样的呢?1、执行 main() 方法(静态方法)就需要先加载承载类 HelloLoader2、加载成功,则进行链接、初始化等操作,完成后调用 HelloLoader 类中的静态方法 main...

2021-08-27 11:49:37 113

原创 JVM中 类加载器作用

类加载器作用:类加载器子系统作用:1. 类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。2. ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。3. 加载的类信息存放于一块称为方法区的内存空间。类加载器ClassLoader作用:1. class file,可以理解为设计师画在纸上的模板,而最终这个模板在执行的时候是要加载到JVM当中来根据这个文件实例

2021-08-27 11:40:02 421 2

原创 什么是线程池,线程池的作用

线程池,其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。创建销毁线程是一个非常消耗性能的。我们详细的解释一下为什么要使用线程池?在java中,如果每个请求到达就创建一个新线程,开销是相当大的。在实际使用中,创建和销毁线程花费的时间和消耗的系统资源都相当大,甚至可能要比在处理实际的用户请求的时间和资源要多的多。除了创建和销毁线程的开销之外,活动的线程也需要消耗系统资源。如果在一个jvm里创建太多的线程,可能会使系统由..

2021-08-27 10:29:21 2790

原创 设计模式:简单工厂模式

简单工厂模式到底实例化谁,将来是不是增加实例化的对象,比如增加开跟运算,这是很容易变化的地方,应该考虑让一个单独的类来做这个创造实例的过程,,这就是工厂。public abstract class Cal{ protected double numA ; protected double numB ; public double getNumA() { return numA ;}...

2021-08-26 20:42:17 47

原创 排序算法的时间复杂度、空间复杂度、稳定性(图表)

2021-08-26 08:20:35 524

原创 java中有三种移位运算符

java中有三种移位运算符<< : 左移运算符,num << 1,相当于num乘以2(除符号位外,整体左移一位,右面空位补零)>> : 右移运算符,num >> 1,相当于num除以2(除符号位外,整体右移一位,左面空位补零)>>> : 无符号右移,忽略符号位,空位都以0补齐...

2021-08-26 08:00:03 206

原创 线程常用方法

让线程暂时停止可以选择sleep方法。比如Thread.sleep(1000),当前线程睡眠1秒。需要知道的是,1秒后,线程是回到可执行状态,并不是执行状态,什么时候执行那是由虚拟机来决定的。所以sleep(1000)并不是在睡眠1秒后立即执行。yield:解释它之前,先简述下,多线程的执行流程:多个线程并发请求执行时,由cpu决定优先执行哪一个,即使通过thread.setPriority(),设置了线程的优先级,也不一定就是每次都先执行它Thread.yield();,表示暂停当前线...

2021-08-25 11:59:18 57

原创 java线程join方法会释放锁吗

java线程join方法会释放锁吗,虽然join底层使用wait,wait是释放锁的但当给对象加锁,wait释放的锁是对象的锁,可以认为释放锁当给线程加锁,wait释放的锁是线程的锁,此时认为不释放锁wait()和join()的调用方的区别:object.wait()和thread.join()join()的底层确实是wait(),wait()也确实释放锁,但是释放的是thread的对象锁也就可以这么说synchronized(obj){ thread.joi...

2021-08-25 11:34:10 3396 5

原创 设计模式:单例模式(Singleton)

设计模式是对已有问题固定的解决方法的总结。单例模式: (单例:单个实例)单例模式保证只有一个实例,就要保证外界不能随便的new这个对象,所以要私有化构造方法。私有化构造方法后就是把new这个对象控制权收回了,只能在类内部去实例化这个对象,让类自身负责保存他的唯一实例。单例模式(Singleton)保证一个类仅有一个实例,并提供一个访问他的全局访问点。保证类仅有一个实例最好的办法就是,让类自身负责保存他的唯一实例。这个类可以保证没有其他实例被创建,并且他可以提供一个访问该实例...

2021-08-25 11:22:59 96

原创 JAVA的JVM的内存可分类:堆(heap)、栈(stack)和方法区(method)

JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)栈区:每个线程包含一个栈区,栈中只保存方法中(不包括对象的成员变量)的基础数据类型和自定义对象的引用(不是对象),对象都存放在堆区中 每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。 栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。堆区:存储的全部是对象实例,每个对象都包含一个与之对应的class的信息(class信息存放在方法区)。 jvm只有一个堆区(h

2021-08-24 17:26:04 214

翻译 JSP内置对象和属性列举

JSP内置对象和属性列举如下:1.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。2.response对象 response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。3.session对象 session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开...

2021-08-24 17:10:13 201

原创 线程的基本概念、线程的基本状态以及状态之间的关系

线程的基本概念、线程的基本状态以及状态之间的关系从图中可以看出从执行状态出来后都不能直接回到执行状态,包括Thread.yield()/wait/sleep/io完成,首先回到可执行状态。 1. 新建( new ):新创建了一个线程对象。2. 可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获 取 cpu 的使用权 。3. 运行( runni...

2021-08-24 16:53:07 406

原创 线程中:wait、notify、notifyAll概述

每个实例都有个线程的休息室wait set。Wait方法——把线程放入wait set使用wait方法时,线程便进入wait set,假设现在已经执行如下语句:obj.wait();则目前的线程停止执行,进入实例obj的的wait set.这个操作成为:线程在obj上wait().(这个obj不是线程而是对象)如果实例方法还有如下的语句时:wait();则其意义同:this.wait();故执行wait的线程就会进入this的wait set.此时就变成了在this上wait...

2021-08-24 15:30:47 366

原创 线程:生产者和消费者问题(序列图)

生产者和消费者问题: 名字 说明 Cake 蛋糕类 Panzi 蛋糕的队列 ProducerThread 生产蛋糕的线程 ConsumerThread 消费蛋糕的线程 Main 测试类 Sequence序列图:对于同步和异步的控制都是在Panzi

2021-08-24 11:51:35 765

原创 事务属性的种类: 传播行为、隔离级别、只读和事务超时

事务属性的种类:传播行为、隔离级别、只读和事务超时a)传播行为定义了被调用方法的事务边界。 传播行为 意义 PROPERGATION_MANDATORY 表示方法必须运行在一个事务中,如果当前事务不存在,就抛出异常 PROPAGATION_NESTED 表示如果当前事务存在,则方法应该运行在一个嵌套事务中。否则,它看起来和PROPAGATION_REQUIRED看起来没什...

2021-08-24 08:50:47 285

原创 Constructor构造函数的反射

Constructor的反射:public void testConstructor() {Class clazz = Student.class;Constructor[] constructors = clazz.getDeclaredConstructors();for (Constructor constructor : constructors) {System.out.println(constructor);System...

2021-08-24 07:59:30 162

原创 使用字节流完成复制一张图片

字节流:InputStream:FileInputStreamOutputStream: FileOutputStream任意一张图片粘贴到对应的项目下代码:public void fileInputStreamCopy() { FileInputStream fileInputStream = null; FileOutputStream fileOutputStream = null; try {fileInputStream = new ...

2021-08-23 20:59:06 244

原创 什么是反射机制

定义:在编译时候不知道加载的是哪个类,在运行时可以动态的获取类的属性调用对象的方法的机制就叫做反射。反射使Java这种静态编译型的语言具有了动态性。反射具有看透类的能力,类的信息在反射面前都是透明的(包括private的属性和方法都是可以调用)。Java反射机制主要提供一下功能:1、在运行时判断任意一个对象所属的类。2、在运行时构造任意一个类的对象。3、在运行时判断任意一个类所具有的成员变量和方法。4、在运行时调用任意一个对象的方法。反射使我们在编译的时候知道.

2021-08-23 20:51:57 170

原创 IO流体系分类图

IO体系IO流的分类:1、 根据处理的数据类型不同可以分为:字符流和字节流。2、根据数据的流向不同可以分为:输入流和输出流。只要是处理纯文本数据,就优先考虑使用字符流。 除此之外都使用字节流。...

2021-08-23 20:43:29 464

原创 ArrayList和LinkedList的比较

ArrayList和LinkedList均实现了List接口ArrayList访问速度比LinkedList快随机添加和删除元素时,ArrayLink的表现更加快速HashMap实现Map接口,它允许任何类型的键和值对象,并允许将NULL用作键或值

2021-08-23 08:19:29 175

原创 前台线程和后台线程的区别和联系

后台线程:指为其他线程提供服务的线程,也称为守护线程。JVM的垃圾回收线程就是一个后台线程。前台线程:是指接受后台线程服务的线程,其实前台后台线程是联系在一起,就像傀儡和幕后操纵者一样的关系。傀儡是前台线程、幕后操纵者是后台线程。由前台线程创建的线程默认也是前台线程。可以通过isDaemon()和setDaemon()方法来判断和设置一个线程是否为后台线程。main()函数即主函数,是一个前台线程,前台进程是程序中必须执行完成的,而后台线程则是java中所有前台结束后结束,不管有没有完成,后

2021-08-23 07:57:33 817

原创 EL与JSTL概述

EL/JSTL目的就是去掉JSP中的java代码,都是以标签的形式表示,以标签的形式美工或者前端都可以修改,利于团队的合作。这套标签和java语言无关。JSP核心语法:JSP表达式<%=%> JSP脚本<%%>JSP开发的原则:尽量在JSP页面少写甚至不写java代码,Java代码放在Servlet。使用EL表达式来代替JSP表达式EL表达式的作用:向浏览器输出域对象(只能输出域对象)的变量或者表达式计算的结果。语法:${变量或表达式} ${l..

2021-08-23 07:47:27 232

原创 什么是ajax 什么是同步 什么是异步

什么是ajax Ajax: asynchronousjavascriptandxml (异步js和xml)其是可以与服务器进行(异步/同步)交互的技术之一。ajax的语言载体是javascript。最大特点:异步请求,不刷新整个页面,只刷新局部也叫局部刷新。什么是同步,什么是异步同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待卡死状态异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随意做其他事情,不会被卡死...

2021-08-20 17:08:12 587

全国省市区(县)三级地址表.zip

全国省--市--区(县)三级表 数据库sql语句创建 解压后三个表分别创建,用文本方式复制后直接在数据库中创建查询语句粘贴执行即可 由于数据较多,执行时间可能会有点长,执行期间不要停止或退出

2021-08-20

linkgame.zip

用java实现的连连看小游戏

2021-08-10

空空如也

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

TA关注的人

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