自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《程序猿设计模式系列》之 第二节 工厂模式

工厂模式(Factory Pattern)的意义就跟它的名字一样,在面向对象程序设计中,工厂通常是一个用来创建其他对象的对象。工厂模式根据不同的参数来实现不同的分配方案和创建对象。

2022-07-31 21:00:50 119 2

原创 《程序猿设计模式系列》之 第一节 设计模式简介

1 .什么是设计模式在软件工程中,设计模式是对软件设计中普遍存在的各种问题,所提出的解决方案。换句话说,设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计的经验的总结。使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性。...

2022-07-24 23:15:16 110

原创 如何使用Mock进行单元测试

为什么需要mock,Mock 测试的重要性

2022-07-13 10:15:00 4741

原创 Git和Gerrit、vim

Git相关命令一、添加到仓库 1.git add<file>:添加文件,含义就是告诉git,将文件添加到git仓库中去,例如:git add test.txt 2.git commit -m<message>:提交文件,含义就是将文件提交到git仓库。-m后面指的是本次提交的说明。 添加文件到Git仓库,分两步: ......

2022-07-10 20:51:54 257

原创 《程序猿笔试题系列》之 有效括号序列

有效括号序列的算法解答

2022-06-26 17:08:09 101

原创 《程序猿笔试题系列》之 左旋转字符串

题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!示例输入 "abcXYZdef",3输出 "XYZdefabc"思路分析其实就是就是要将一个字符串,按照输入的数字,进行切割成2组字符串,然后将第一份字符串拼接到后面去就可.

2021-05-06 11:27:35 103 1

原创 Java 反射机制详解

动态语言动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。(引自: 百度百科)var execString = "alert(Math.floor(Math.random()*...

2019-08-18 15:11:35 183

原创 Java 8 Lambda 表达式学习心得

lambda表达式,是一段可以传递的代码,可以被多次执行。在 java8 之前,如果我们想写一个简单的比较器 Compartor ,我们需要创建一个实现类或者一个匿名内部类类传入到需要比较的方法内当中。在 java8 之前传递一段代码不是很容易,现在我们想要实现一个通过传递代码来检查某个字符串的长度是否小于另外一个字符串的长度。(String first, String second) ...

2019-07-19 18:27:46 166

原创 Spring中常用注解

注解的好处在于大大的减少了人们开发的编程量,提高了编程效率,那么下面就接受经常用到的一些注解及其含义等。注解列表 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中 @ComponentScan让spring Boot扫描到 Configuration类并...

2019-07-06 11:35:17 173

原创 第五节 java 字符流

1 .字符流基类java.io包中专门用于字符流处理的类,是以 Reader 和 Writer 为基础派生的一系列类。字符流以字符为单位,根据码表映射字符,一次可能读多个字节,只能处理字符类型的数据。同类 InputStream 和 OutputStream 一样,Reader 和 Writer 也是抽象类,只提供了一系列用于字符流处理的接口。它们的方法与类 InputStream 和...

2019-05-15 20:27:45 198

原创 第四节 java 字节流

1. I/O流概述 大部分程序都需要进行输入/输出处理,比如从键盘读取数据、从屏幕中输出数据、从文件中写数据等等。在 Java 中,把这些不同类型的输入、输出源抽象为流(Stream),而其中输入或输出的数据则称为数据流(Data Stream),用统一的接口表示,从而使程序设计简单明了。 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两...

2019-05-13 20:11:02 288

原创 第三节 Java 集合框架

1 .集合框架的介绍我们在超市买东西的时候,如果没有购物车是不是会很麻烦呢?Java 中集合类是一种工具类,就是像购物车一样的容器,存储任意数量的具有共同属性的对象。我们为什么要用集合呢?一个类的内部有许多相同类型的属性,并且他们的作用与意义是一样的,我们最好用一个类似容器的东西去盛放他们,在类的内部就变得井然有序。所以集合便是在类的内部,对数据进行组织的作用。这样我们便可以简单而快速地搜...

2019-04-30 16:30:53 175

原创 第二节:java.util 包

1 .java.util 包介绍java.util 包提供了一些实用的方法和数据结构。比如日期类 Date,日历类 Calendar 以及随机数类 Random,同时包里还提供了 collection 框架,像堆栈 Stack、向量 Vector、位集合 Bitset 以及哈希表 Hashtable等表示数据结构的类。本次 主要介绍 Date 类、Calendar 类、Random 类...

2019-04-06 17:59:13 831

原创 第一节:java.lang 包

1.Java API 简介 Java 的核心 API 是非常庞大的,这给开发者来说带来了很大的方便。所谓的 API 就是一些已经写好、可直接调用的类库。Java 里有非常庞大的 API,其中有一些类库是我们必须得掌握的,只有熟练掌握了 Java 一些核心的 API,我们才能更好的使用 Java。在程序中,java.lang 包并不需要像其他包一样需要import关键字进行...

2019-04-02 13:51:38 295

原创 idea中右侧maven project或者其他的Database等不见了

点击工具栏view ,选中 tool buttons即可。欢迎关注微信公众号:Java的学习之路里面资料非常全,从java初级到高级都有,视频,电子书,面试宝典,简历模板,经典案例,源码分析程序员故事以及解决bug方法。。。。应有尽有,可以推荐大家一起学习下!!...

2019-03-24 10:56:08 5803 2

原创 IntelliJ IDEA 编译报错:Error:java: Compilation failed: internal java compiler error

报错内容:Information:Using javac 1.8.0_73 to compile java sourcesInformation:java: javacTask: 源发行版 1.8 需要目标发行版 1.8Information:java: Errors occurred while compiling module 'EZSonar'Information:Modu...

2019-03-24 10:44:44 1284 2

原创 第十三节:Java 接口

Java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。 除非实现接口的类是抽象类,否则该类要定义接口...

2019-03-23 20:17:30 335

原创 第十二节:Java 抽象类

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,...

2019-03-23 20:05:49 264

原创 第十一节:小结(Java 重写(Override)与重载(Overload))

这些小结是对前面知识的扩展,前面有些地方可能写的不是很详细,所以就加了后面的这几节内容,希望能多多帮助到大家。重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 ...

2019-03-23 19:56:16 206

原创 第十节:Java 多态

多态是指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。多态也称作动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。通俗地讲,只通过父类就能够引用不同的子类,这就是多态,我们只有在运行的时候才会知道引用变量所指向的具体实例对象。1 .向上转型要理解多态我们必须要明白什么是"...

2019-03-22 17:51:36 307

原创 第九节:Java 继承

1 .继承的定义继承可以看成是类与类之间的衍生关系。比如狗类是动物类,牧羊犬类又是狗类。于是我们可以说狗类继承了动物类,而牧羊犬类就继承了狗类。于是狗类就是动物类的子类(或派生类),动物类就是狗类的父类(或基类)。所以继承需要符合的关系是:is-a,父类更通用,子类更具体。我们创建一个类需要它来继承某一个类的语法:例如我们定义了一个 Animal 类,我们在创建一个 Dog 类...

2019-03-22 11:05:33 263

原创 第八节:Java 封装

1. 封装  封装是指,一种将抽象性函式接口的实例细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制,通过该类提供的方法来实现对隐藏信息的操作和访问。那这样的好处是什么呢? 只能通过规定的方法访问数据 隐藏类的实例细节,方便修改和实现。 我们在开汽车的时候,只用去关注如何...

2019-03-17 14:35:49 228

原创 第七节:Java 类与对象

1. 什么是面向对象面向对象是学习 Java 必须掌握的知识,也是 Java 里的一个重难点。那什么是面向对象呢?在讲解面向对象之前,我们得解决一个问题,什么是对象?对象,从字面意思来看就是我们面对的物象。由此我们便可以知道,万事万物皆为对象。比如:一台电脑,一辆汽车,一部手机等等都是对象。面向对象,从字面意思来看就是我们人面对着一个对象。其实就是指我们从这个对象的整体出发去看它...

2019-03-17 13:39:32 467

原创 Clion下同时编写多个main函数

Clion下如果有多个main函数,编译时会报错“`main'被多次定义”,不会执行等。操作如下:在你的CMakeLists.txt文件下配置就行:使用add_executable()中前面的一定要不一样(例如:A,B,C)等,如图所示欢迎关注微信公众号:Java的学习之路里面资料非常全,从java初级到高级都有,视频,电子书,面试宝典,简历模板,经典案例,源码分析...

2019-03-16 17:37:21 1534 3

原创 怎么样使用CLion建立多工程目录

clion怎么样和idea或者eclipse一样建立多级别目录呢?下面是效果图:操作:可以看到在主的工程项目下有个CMakeLists.txt文件。打开这个文件可以看到里面配置:ADD_SUBDIRECTORY(day01):其中这个是代表包含子目录的意思.注意reload.对于子目录的样子呢:子目录也如图所示,也必须要有一个CMakeLists.txt...

2019-03-16 17:30:26 6014 6

原创 第六节:Java方法定义

目录1 .方法的定义与语法规则2. 参数与参数列表3 .方法重载4. 返回值构造方法在之前的章节中,我们经常使用到System.out.println(),它是什么呢? println() 是一个方法 System 是系统类 out 是标准输出对象 这句语句的意思是调用系统类 System 中的标准输出对象 out 中的方法 println()...

2019-03-15 20:06:19 309

原创 第五节:Java的数组

目录1. 数组的定义和初始化2. 一维数组3. 二维数组*Arrays 类1. 数组的定义和初始化数组就是相同数据类型的元素按一定顺序排列的集合。我们可以把它看成一个大的盒子,里面按顺序存放了多个数据类型相同的数据。例如:比如定义一个int型一维数组a存储四个人的年龄,数组中的元素都可以通过下标来访问,下标从 0 开始,到数组长度-1结束。例如,可以通过 ...

2019-03-12 21:51:38 266 1

原创 第四节:Java 控制语句

目录1. 条件控制语句1.1 if语句1.2 switch语句2. 循环控制语句2.1 while和do-while语句2.2 for语句 3 .跳转语句4 .其他1. 条件控制语句在生活中我们有很多时候都会面临选择,在做选择之前我们会进行一系列的判断。比如对于今天是否要出门这样的选择,我们会对天气做一个判断。如果天气好,我们就出门;如果天气不好,我们就不出...

2019-03-12 19:38:58 447

原创 第三节:Java运算符

目录1. 算术运算符2. 位运算符3 .逻辑运算符4. 赋值运算符5. 关系运算符6. 条件运算符instanceof 运算符7.Java运算符优先级1. 算术运算符 运算符顾名思义是一种符号,它是连接一个以上的操作符,实现某种功能的运算。 我们就先来认识一下算术运算符吧! 算术运算符用在数学表达式中,主要实现的...

2019-03-08 21:47:22 305

原创 第二节:Java基本语法

1. Java 程序的构成一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。对象(object):对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类(class):类是一个模板,它描述一类对象的行为和状态。 方法(method):方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以...

2019-03-08 21:23:30 214

原创 第一节:Java介绍

1. 简单的Java介绍 Java是由Sun Microsystems公司于1995年5月推出的 Java 程序设计语言(以下简称Java语言)和 Java 平台的总称。Java 语言是一种面向对象的编程语言语言。虽然 Java 仅仅只产生了短短20年,但是它的发展是非常迅速的。在2009年4月20号,ORACLE 收购了 Sun 公司,也就是说 Java 这门语言现在归属于 O...

2019-03-08 21:04:30 513

原创 @Inject和@Autowired以及@Resource区别?

1、@Inject javax.inject JSR330 (Dependency Injection for Java) 这是jsr330中的规范,通过‘AutowiredAnnotationBeanPostProcessor’ 类实现的依赖注入。1.1、@Inject使用 如下是@Inject的使用,不加@Named注解,需要配置与变量名一致即可。 ...

2019-03-07 21:46:47 8729 2

原创 idea打包出错时出现 Cleaning up unclosed ZipFile for archive?

当idea打包出错时出现这个问题时 Cleaning up unclosed ZipFile for archive?解决办法:这个是因为在maven的内存不足。怎么查看第一、选中这:​​第二、右键Edit进行修改:​​-Xms1024m -Xmx1024m欢迎关注微信公众号:Java的学习之路里面资料非常全,从java初级到高级都有,视频,电子书,面试宝...

2019-03-06 21:41:35 6293

原创 idea debugger console 不见了

有时候当写完代码后,想要debug测试一下,发现自己的debug的控制台不见了。确实很郁闷的。。。1 找了好久,也找不到,调试的时候挺麻烦的。*2 最后发现 有个一个重置,视图的按钮。点击一下就恢复 。 如下图。有时候因为你的屏幕比较小,没有看到。可以点击这个。如果所示或者将这个控制台向上提高一点,直到出现上面的标识就行。欢迎关注微信公众号:Java的学习之...

2019-03-06 21:37:52 15284 4

原创 idea:Cannot start process, the working directory XXX does not exist

编译出现问题:Cannot start process, the working directory 'F:\hello\hello' does not exist解决方法:选择Run-Edit configurations。然后点击Application左边的向下箭头,在Configuration下会显示出Working directory,删除或者设置成合适dircotry就可以。...

2019-03-06 21:22:25 1575

原创 idea怎么样快速取消自己打过的所有断点

对于大家开发来说,有时候要进行debug操作,但是因为不小心打的断点比较多,然后不想要这么多的断点,一个个删除的话又太慢了。因此有什么好的办法来快速取消打的断点呢?现在就为大家来将一下关于idea怎么样一下子取消掉所有断点的操作。第一步,点击红色箭头所指向的符号第二步可以看到你在这些程序中打了多少断点了,然后可以根据需要一个个取消掉打钩的标识,然后done掉就可以了。快...

2019-03-06 20:56:06 6856 4

空空如也

空空如也

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

TA关注的人

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