自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++基础入门

C++基础入门一,C++初识二,数据类型三,运算符四,程序流程结构五,数组六,函数七,指针八,结构题一,C++初识#define宏常量,在文件上方定义#define 常量名 常量值const修饰的变量,通常在变量定义前关键字const,修饰该变量为常量,不可修改const 数据类型 常量名 = 常量值C++关键字asm,auto,bool,break,case,catch,char,class,const,const_cast,continue,default,deletedo,double

2022-05-17 14:50:05 242

原创 继承与构造方法之间的关系

以此题为例:给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确的是(B )。class Parent1 { Parent1(String s){ System.out.println(s); }}class Parent2 extends Parent1{ Parent2(){ System.out.println("parent2"); }}public class Child extends Parent2 { public st

2021-01-05 14:06:13 554

原创 ideal破解锁死

Mac版本,ideal在破解的过程中,锁死解决办法1.点击ideal图标右键,选择显示包内容,进入到MacOS文件夹中。2.用文本打开里面idea,找到这个路径。3.点击访达右键,选择前往文件夹,将路径粘进去 /Users/huangying/Library/Application Support/JetBrains/IntelliJIdea2020.1(这是我电脑的路径,粘贴自己的)4.打开idea.vmoptions,将配置的jetbrains-agent.jar包路径删除。...

2020-12-29 12:04:43 691

原创 建造者模式

建造者模式(和造房子是最像的) 建造者模式也属于创建型模式它提供了一种创建对象的最佳方式。定义: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示主要作用:在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。用户只需要给出指定复杂对象的类型和内容,建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)例子:工厂(建造者模式) :负责制造汽车(组装过>程和细节在工厂内)汽车购买者(用户) :你只需要说出你需要的>型号(对象的类型和内

2020-12-06 20:41:50 76

原创 工厂模式

面向对象的七大原则开闭原则:对扩展开放,对修改关闭里氏替换原则:继承必须确保超类所拥有的性质在子类中仍然成立依赖倒置原则:要面向接口编程,不要面向实现编程。单一职责原则:控制类的粒度大小、将对象解耦、提高其内聚性。接口隔离原则:要为各个类建立它们需要的专用接口迪米特法则:只与你的直接朋友交谈,不跟"陌生人”说话。合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。工厂模式作用:实现了创建者和调用者的分离分类:  简单工厂模式  工厂方法模式  抽象工

2020-12-06 20:38:59 93

原创 Java集合

基本概述:接口继承关系和实现集合类存放于java.util包中,只要有3种:set(集)、list(列表包含Queue)和map(映射)。1.Collection:Collection是集合List、Set、Queue的最基本的接口。2.Iterator:迭代器,可以通过迭代遍历集合中的数据。3.Map:是映射表的基础接口。一、ListJava的list是非常常用的数据类型。List是有序的Collection。java List一共有三个实现类:ArrayList,Vector和Linke

2020-12-01 22:19:49 148

原创 MyBatis知识点汇总

1.什么是MyBatis?MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。2.MyBatis缓存MyBatis的缓存分为一级缓存和二级缓存,一级缓存放在session里面,默认就有,二级缓存放在他的命名空间力,默认是不打开的,使用二级缓存存属性类需要实现Serializable序列化接口(可以用来保存对象的状态),可在它的映射文件中配置3.MyBatis是如何进行分页的?分页插件的原理是什么?1)MyBatis使用RowBounds对象进行分页,也可以直接编写sql实现分页,

2020-12-01 11:41:07 269

原创 《Web框架技术》习题

1.简述Spring由那些模块组成,并画出其组织结构图?Spring-Core:Core包是框架的最基础部分,并提供依赖注入(Dependency Injection)管理Bean容器功能。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。Spring-Context:(Spring核心容器<上下文模块>)核心模块的BeanFactory使Spring成为一个容器,而上下文模块使它成为

2020-11-29 19:58:24 793

原创 《计算机网络》习题

1.因特网的发展大致分为哪几个阶段?请指出这几个阶段的主要特点。答:因特网的发展大致分为三个阶段。第一阶段:从单个网络APPANET向互联网发展;TCP/IP协议的初步成型;第二阶段:建成三级结构的Internet;分为主干网、地区网和校园网;第三个阶段:形成多层次ISP结构的Internet;ISP首次出现。2.简述因特网标准制定的几个阶段。答:因特网的正式标准要经过以下四个阶段(1)因特网草案。因特网草案的有效期是六个月,在这阶段还不是RFC文档(2)建议标准。从这阶段开始就成为RFC文

2020-11-28 19:27:18 1172

原创 ConcurrentHashMap

ConcurrentHashMap和Hashtable的区别ConcurrentHashMap和Hashtable的区别主要体现在实现线程安全的方式上不同。●底层数据结构: JDK1.7的ConcurrentHashMap底层采用分段的数组+链表实现, JDK1.8采用的数据结构跟HashMap1.8的结构一样,数组+链表/红黑二叉树。Hashtable 和JDK1.8之前的HashMap的底层数据结构类似都是采用数组+链表的形式,数组是HashMap的主体, 链表则是主要为了解决哈希冲突而存在的;●

2020-11-26 20:40:39 81

原创 Redis知识点汇总(编辑中)

Redis能干什么? 1.内存存储、持久化、内存中是断电即失、所以说持久化很重要(rdb、aof) 2.效率高,可以用于高速缓存 3.发布订阅 4.地图信息分析 5.计时器、计数器、浏览量   特性: 1.多样的数据类型 2.持久化 3.集群 4.事物   基本环境安装: 1.wget http://download.redis.io/releases/redis-4.0.8.tar.gz 2.tar xzvf redis-4.0.8.tar.gz 3.yum install

2020-11-26 16:55:52 90

原创 Linux

问题一:绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?答案:绝对路径:如/etc/init.d当前目录和上层目录:./ …/ 主目录:~/切换目录:cd问题二:怎么查看当前进程?怎么执行退出?怎么查看当前路径?答案:查看当前进程:ps 执行退出:exit查看当前路径:pwd问题三:怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?答案:清屏:clear退出当前命令:ctrl+c 彻底退出执

2020-11-25 21:08:24 130

原创 Java基础核心总结(编辑中)

Java概述什么是Java?Java是Sun Microsystems于1995年首次发布的一种编程语言和计算平台。编程语言还比较好理 解,那么什么是计算平台呢?计算平台是在电脑中运行应用程序(软件)的环境,包括硬件环境和软件环境。一般系统平台 包括一台电脑的硬件体系结构、操作系统、运行时库。Java是快速,安全和可靠的。从笔记本电脑到数据中心,从游戏机到科学超级计算机,从手机到互联 网,Java无处不在! Java主要分为三个版本•JavaSE(J2SE)(Java2 Platform Stan

2020-11-25 21:00:34 350

原创 Java集合框架

集合框架22道题1.ArrayList 和 Vector 的区别。这两个类都实现了 List 接口(List 接口继承了 Collection 接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是HashSet 之类的集合的最大不同处,HashSet 之类的集合不可以按索引号去检索其中的元素,也不允许有重复的元素(本来题目问的与 hashset 没有任何关系,但为了说清楚 ArrayList

2020-11-25 20:43:23 59

原创 HashMap

JDK8中的HashMap有哪些改动?JDK7中的底层实现是数组+链表, JDK8中使用的是数组+链表+红黑树。JDK7中扩容时有可能出现死锁, JDK8中通过算法优化不会出现死锁了。JDK8中对算哈希值的哈希算法进行了简化以提高运算效率。JDK8中为什么要使用红黑树?因为JDK7中是用数组+链表来作为底层的数据结构的,但是如果数据量较多,或者hash算法的散列性不够,可能导致链表上的数据太多,导致链表过长,考虑一-种极端情况:如果hash算法很差,所有的元素都在同一个链表上。那么在查询数据的

2020-11-25 20:31:28 61

原创 建造者模式

项目分析引出建造者模式     盖房项目需求          1)需要建房子:这一过程为打桩,砌墙儿封顶          2)房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的.   

2020-09-29 20:53:17 138

原创 原型模式

什么是原型模式?       1)原型模式(Prototype模式)是指:用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。      2)原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节。      3)工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个

2020-09-29 16:07:15 123

原创 死锁写法

什么是死锁?  当一个线程等待由另一个线程持有的锁,而后者正在等待已被第一个线程持有的锁时,就会发生死锁。具体代码实现如下:public class Machine extends Thread { private Counter counter;//共享数据,计数器 public Machine (Counter counter){//构造方法,用counter,直接传入 this.counter = counter; start

2020-09-27 20:50:18 189

原创 单例设计模式八种方式

单例模式介绍:  所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。中心思想有以下四步:   1)构造器私有化(防止new)   2)类的内部创建对象   3)向外暴露一个静态的公共方法。getInstance()   4)代码实现方法一:饿汉式(静态常量)优缺点说明:   (1)优点:这种写法比较简单,就是在类装载的时候就完成实例化。避免了线程同步问题。   2)缺点:在类装载的时候就完成实

2020-09-25 19:33:50 180 3

原创 简单了解红黑树

红黑树底层数据结构:(特殊的)二叉查找树(节点:左小,右大)红黑树的性质(重点):1)每个节点不是红的就是黑的2)不可能有连接在一起的红色节点3)根节点都是黑色的root4)每个红色节点的两个节点都是黑色的:出度为0满足了性质就可以近似的平衡了,不一定要变红,也可以为其他的。 为了满足红黑树的性质出现了旋转1.改变颜色:最简单 红变黑,黑变红2.左旋:逆时针(向左移动)3.右旋:顺时针(向右移动)旋转和颜色变换的规则:所有的节点都是红色的,如不满足红 黑树的性质,即开始旋转。图片

2020-09-22 20:51:05 82

原创 linux基本命令

linux基本命令1.vi和vim使用: 一般模式:vi或者vim命令打开文件(vim test.txt),进入了一般模式; 可以查看文件的内容,并且可以通过上下左右键移动光标,查看文件某一部分; 且是不能编辑文件丙容。 编辑模式:在一般模式下,按i键或者a键,进入编辑模式。只能编辑不能保存 回到一般模式,Esc 命令模式:在一般模式下,按shift+:,进入命令模式 输入:q!------不保存强制退出编辑器 wq------保存并且退出 q-----

2020-09-16 18:27:17 158

原创 git基本语句的使用

简介  Git是一种分布式版本控制工具,主要工作方式包括本地管理和远程云端管理,所使用的命令是Linux 操作系统使用的命令。 若第一次使用Git,则需要注册用户名和邮箱,其注册命令为: git config --global user.name “huangying” git config --global user.email “1845019529@qq.com”注:" "中自行替换上传文件基本步骤如下 git init 初始化,创建本地仓库 git add 文件名,选中此文件,git

2020-09-04 13:01:31 202

原创 Maven知识汇总

1.Maven是什么,能干什么?Maven是一款服务于Java平台得自动化构建工具(其他工具Make->Ant->Maven->Gradle)①大项目可以借助Maven就可以将一个项目拆分成多个项目②借助于Maven可以以一种规范的方式下载jar包。因为所有知名框架或第三方工具的jar包以及按照统的规范存放在了Maven的中央 仓库中。③会自动将被依赖得jar导入进来2.构建①概念:以Java源文件,框架配置文件,JSP,HTML,图片等资源为原材料,去生成一个可以运行得

2020-09-01 14:33:54 154

原创 复习Spring第三课SpringAop

Aop不修改代码得前提下,增加方法一,为什么要用aop?(1)代码混乱:越来越多得非业务需求(日志和验证等)加入后,原有得业务方法急剧膨胀,每个方法在处理核心逻辑得同时还必须兼顾其他多个关注点。(2)代码冗余:以日志需求为例,直为了满足这个单易需求,就不得不在多个模块(方法)里重复相同得日志代码,如果日志需求发生变化,必须修改所有的模块。二,Aop简介(1)Aop(Aspect-Oriented Programming)面向切面编程:是一种新的方法论,是对传统OOP(Object-Oriente

2020-07-20 15:57:24 117

原创 复习Spring第二课

3)自动装配属性自动装配autowire关键字<bean id="person" class="com.haina.spring.Person"> <property name="name" value="张三"/></bean><!-- 属性自动装配,会自动的把上面定义好的person类型的bean,装配到,改bean的person类型属性中 person 是 helloword类里卖弄的一个属性 -->

2020-07-14 10:49:08 97

原创 复习Spring第一课

默认调用无参得构造方法配置文件pom.xml 导包<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.17.RELEASE</version> </de

2020-07-14 10:42:34 98

原创 MyBatis复习四源码分析

一,为什么用Mybatis?JDBC的弊端总结:1、jdbc 底层没有用连接池、操作数据库需要频繁的创建和关联链接。消耗很大的资源2、写原生的 jdbc 代码在 java 中(硬代码),一旦我们要修改 sql 的话,java 需要整体编译,不利于系统维护3、使用 PreparedStatement 预编译的话对变量进行设置 123 数字,这样的序号不利于维护4、返回 result 结果集也需要硬编码。MyBatis是什么?MyBatis是-款优秀的持久层框架,一个半ORM (对象关系映射)框架

2020-07-08 09:58:15 126

原创 MyBatis复习三+MyBatis思维导图

多参数查询写法一User selectByNameAndAge(String name,int age);<select id="selectByNameAndAge" resultType="user"><!-- 当前方法有多个参数的时候,我们可以使用param1 param2 ..来代表对应位置的参数 --> select *from user where name=#{param1} and age=#{param2}</select>写法二

2020-07-08 09:52:35 512

原创 MyBatis复习二

配置数据库驼峰命名,开启日志,定义别名,配置路径,开启二级缓存properties里面的数据driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTCdbuser=rootdbpassword=123456<!-- 要加载数据库的资源文件,然后在数据库的连接池的配置中可以使用--> <properties resource="db.properti

2020-07-08 09:50:04 118

原创 MyBatis复习一

mybatis,导入依赖,数据库,日志pom.xml中<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.3</version> </

2020-07-08 09:44:22 85

原创 递归 & 迭代,解力扣101.对称二叉树

递归 & 迭代,解力扣101.对称二叉树紧跟上一篇,继续理解递归与迭代。递归解法思路:如果一个树的左子树与右子树镜像对称,那么这个树是对称的。如果同时满足下面的条件,两个树互为镜像:它们的两个根结点具有相同的值每个树的右子树都与另一个树的左子树镜像对称/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tre

2020-06-09 19:49:00 187

原创 迭代式快排与递归式快排

迭代式快排与递归式快排迭代式快排在迭代解决方案中,我们将使用堆栈。下面是在Java中实现迭代快速排序的步骤:1.将范围(0…n)推入堆栈2.使用数据透视表对给定数组进行分区3.弹出顶部元素。4.如果范围有多个元素,将分区(索引范围)推入堆栈5.执行上述3个步骤,直到堆栈为空 public static void iterativeQsort(int numbers) { Stack stack = new Stack(); stack.push(0);

2020-06-09 19:28:28 257

原创 Java面向对象的三个特征与含义

Java面向对象的三个特征与含义

2020-03-19 17:16:03 107

原创 String,StringBuffer,StringBuilder的区别

String,StringBuffer,StringBuilder的区别

2020-03-19 17:12:34 62

原创 JVM指令手册

JVM指令手册

2020-03-19 13:51:03 429

原创 equals和==的区别

equals和==的区别1."=="是判断两个变量或是里是不是指向同一个内存空间,equals是判断两个变量或实例指向的内存空间值是不是相同。2."=="是指对内存地址进行比较 ,equals()是对字符串的内容进行比较。3.==指引用是否相同,equals()指的是值是否相同补充:equals对象比较是调用Object类里面的equals方法,比较字符串是调用String类里面的...

2020-03-19 13:46:40 118

原创 堆栈内存分析

堆栈内存分析public static void main(String[] args){ Student stu = new Student();//创建一个对象 stu.id = 1001; stu.name = "HHY"; stu.age = 18; Computer c1 = new Computer(); c1.brand = "戴尔" stu.comp = c1;}...

2020-03-06 20:49:28 169

原创 算法入门第三课

算法入门第三课题目一:比较器的使用1)比较器的实质就是重载比较运算符。2)比较器可以很好的应用在特殊标准的排序上3)比较器可以很好的应用在根据特殊标准排序的结构上实现Comparator接口重写compara()方法题目二桶排序思想下的排序1)计数排序,词频统计(区间小适合)2)基数排序(数据必须是十进制,最好是正数)分析:1)桶排序思想下的排序都是不基于比较的排序2)...

2020-02-04 21:00:41 84

原创 算法入门第二课

算法入门第二课归并排序,堆排序,快速排序,比较块题目一归并排序:1)整体就是一个简单的归并排序,左边排好,右边排好,让其整体有序。2)让其整体有序的过程中用了排外序的方法3)利用master公式来求解时间复杂度4)归并排序的实质时间复杂度O(N*logN),额外空间复杂度O(N)左边有序,右边有序。两个指针,比较谁小就,把谁放在一个新的数组种。新的空间做到整个都排好序了,在赋...

2020-02-04 20:59:51 89

原创 算法入门第一课

算法入门第一课题目一:时间复杂度(粗描):1)常数时间复杂度:不看系数,只要高阶,不要低阶。2)评价一个流程的好坏:先看时间复杂度的指标,然后在分析不同数据样本的实际运行时间,也就是“常数时间项”。在相同时间复杂度的情况下,大量数据进行比较是十分重要的。题目二:选择排序,冒泡排序细节的讲解与复杂度分析额外空间复杂度(用完可以释放的空间):时间复杂度O(n^2) 额外空间复杂...

2020-02-04 20:57:47 204

空空如也

空空如也

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

TA关注的人

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