自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

minilo

make it fun

  • 博客(28)
  • 收藏
  • 关注

原创 04-Java集合

ArrayList和LinkedList最明显的区别:ArrayList基于数据实现,所以它的查找是很快的,但是随机增删的时候(非直接操作尾部元素)是比较慢的,因为它需要移动增删元素后面的所有元素,这就比较耗时了。而LinkedList则是基于链表实现,照理来说它的随机增删是比较快的,因为只需要操作一个节点,但是查找就比较慢了, 因为它必须遍历整个链表,直到找到相应的元素。这里提一个问题,LinkedList的随机增删真的就比ArrayList快吗?我们来看这样的一段代码:public class

2021-12-12 21:58:57 330

原创 03-封装,继承,多态

封装最小程度赋予属性,方法权限控制,能给private的绝不给protect。例如我们有这样一个类:public class Car { private int price; public Car(int price) { this.price = price; } public int getPrice() { return price; }}我们并不希望Car类中的price属性一旦被创建,就不允许被外部人为进行修改,但

2021-12-12 17:33:48 323

原创 02-String&StringBuilder&StringBuffer

这个应该算是老掉牙的知识点了,但是确实用的非常频繁,所以必须要多加复习。String final的实现众所周知,String的内部实现是一个final的char[],为什么要实现为final的也是广为争议的一点。唯一确定就是实现为final的必然是对的,那么实现为final有哪些好处呢?hashCode可以被缓存:虽然我们比较少显式地使用String的hashCode,但是当我们使用equals()方法的时候,背后就是用了hashCode,如果每次比较都要计算一次hashCode,那效率将大打折扣。

2021-12-12 16:56:35 333

原创 01-流程控制

if…elsepublic class LeapYear { public static void main(String[] args) { int year = 2021; // 如果一个年份能被4整除,并且不能被100整除则是闰年 if (year % 4 == 0 && year % 100 != 0) { System.out.println(year + "是闰年"); } else

2021-12-12 16:18:54 400

原创 00-基本数据类型,封装类型和基本运算操作

1.基本数据类型byte:1个字节short:2个字节int:4个字节long:8个字节float:4个字节double:8个字节char:2个字节boolean:未知(没有明确规定要用多少个字节来表示)2.封装类型例如int 和Integer,int自动转Integer称为装箱操作,Integer自动转int称为拆箱操作,Integer转int可能会导致控制空指针异常,因为Intger是对象,可为null;而当我们使用int作为对象的某个属性时,则要注意,int一般会有默认值为0,如果

2021-12-12 15:45:41 377

原创 为什么TreeSet的元素要实现Comparable接口?

今天突然产生了一个想法,为什么TreeSet中的元素都要求实现Compareable接口,而不是直接使用它本身的equals()方法呢?其实转念一想就知道了,因为TreeSet的元素是有序的,每一个元素都需要比较大小,而不是仅仅比较是否相等,而equals()方法只能比较两个元素是否相等,是不满足要求的,所以TreeSet的元素都要求实现Compareable接口,并实现它的compareTo()方法。...

2021-12-11 23:55:34 472 1

原创 简文聊Java封装

封装要求我们控制好类属性的访问权限:1.将类对象的所有属性都设置为private访问权限;2.为类对象的属性提供getter方法时需要考虑数据的敏感性,是否可以被随意访问;3.类对象属性的初始化,是否可以被随意设置,例如:class Test{ private Date createTime; private int num;}其中createTime属性是数据的产生时间,这个时间如果是被触发时就被设置的,那么我们可以在它的初始化方法中自行初始化,而不依赖于外来的参数,并且也不会提供set

2020-06-08 22:38:38 119

原创 [Java]如何获取指定日期一天的开始时间和结束时间

背景在数据查询中,我们经常需要查询某段时间内的数据,而前端传入参数一般来说是不会指定小时,分钟,秒,甚至毫秒级别的,所以就需要后端进行时间处理;例如:查询2020-02-17 - 2020-02-19 的数据;方案1 // 返回时间格式如:2020-02-17 00:00:00 public static String getStartOfDay(Date time) { ...

2020-04-07 19:17:35 7079 2

原创 01 Spring源码的下载以及编译

打开网址spring.io,在project位置选择了Spring-Framework,就能看到如下页面,点击Github的猫标识就能达到相应的github页面这次要下载的是5.2.0版本的代码,所以点击tags标签,选择相应版本进行下载百度云下载,或许有些人因为网络原因,无法正常下载,故而在这里提供我下载的包(链接:https://pan.baidu.com/s/1f09ZA–CI7M...

2020-03-02 19:59:18 421

原创 Java获取指定日期的0点以及24点

背景在数据查询中,我们经常需要查询某段时间内的数据,而前端传入参数一般来说是不会指定小时,分钟,秒,甚至毫秒级别的,所以就需要后端进行时间处理;例如:查询2020-02-17 - 2020-02-19 的数据;方案1 // 返回时间格式如:2020-02-17 00:00:00 public static String getStartOfDay(Date time) { ...

2020-02-19 12:05:29 18079

原创 策略模式是如何解决if/else过长问题的

策略模式是如何解决if/else过长问题的if/else过长的问题什么是策略模式?为什么策略模式能解决if/else过长的问题呢?if/else过长的问题什么样才算if/else过长呢?每个人或许都有不同的定义吧,但是最为直观的感受就是当你看你的代码,无法确定if/else的花括号是哪个对应哪个的时候,就是太长了,又或者一屏幕没法理解清楚你其中的代码逻辑时,你就应该考虑对你的代码进行重构设计了...

2019-11-25 00:12:01 448

原创 开源Wiki搭建之Docker篇

感谢参考博客:默默蚊假装是只熊一篇简洁易懂并且可信的博客真的能解决很多问题!提示如果没有看过上篇的请移步;正文点击获取war包思忖良久,本着more effective的宗旨,还是打一个docker篇,并且也会提供相应的war包,不过要记得解开war包,然后修改一下数据库的配置信息;(因为这个war包里的数据库配置是xxx…

2019-01-18 19:56:50 4224

原创 开源wiki的部署

Wiki此次部署的猪脚是WCP,这是一个开源的wiki,在此感谢开源作者的贡献.希望自己以后也能为开源作出贡献:-)部署完成大概长这样:WCP开源版本采用springMVC、spring、hibernate框架实现主要架构功能,由lucene提供全文检索功能,并使用了其他若干主流开源项目,数据库管理系统默认使用mysql,可以部署在tomcat等主流中间件服务器上。背景为啥我要...

2019-01-18 14:31:21 9152

原创 centos7一键部署jdk7+maven3.3.9+tomcat7(已实践)

环境说明服务器系统: centos7.3本地系统: deepin 15.8不过其实环境只要是linux就没有太大差异,已在ubuntu 14.06以及centos 7.3中实践过没有问题.下载资源点击这里-百度云盘链接这个压缩包中提供了所需要的所有资源,包括我写的一些初始化脚本以及jdk7,maven3.3.9,tomcat7的压缩包;传输压缩包到服务器上scp /ho...

2019-01-18 10:02:46 430

原创 阿里云服务器centos 7.3安装mysql数据库(已实践)

背景:网上的教程有些杂乱,故而参考网上的一些文章,再结合自己的经验,实践之后记录一下,希望能给后人提供一些帮助,尽量少踩一些坑;平台:阿里云学生云主机系统:centos 7.3参考文档:https://www.cnblogs.com/qiweichao/p/7347776.htmlhttps://www.cnblogs.com/jepson6669/p/9013652.html1...

2019-01-16 17:02:30 969 9

原创 TCP协议(0)

TCP协议的定义TCP是面向连接的通信协议,通过3次握手建立连接,通讯完成要拆除连接,由于TCP是面向连接的,所以只能用于端到端的通信。TCP提供的是可靠的数据流服务。在DNS服务中,像发送和接受域名数据库是使用的TCP协议,而单个主机信息的传输则是使用的UDP。TCP的服务TCP通过下列方式来提供可靠性:1.应用程序被分割成TCP认为最适合发送的数据块(这与UDP完全不同...

2018-07-02 14:54:50 879

原创 操作系统概述(2)

操作系统的结构设计1.操作系统的内部结构现代操作系统从内部结构来分析,通常包括内核和核外两部分。 (1)操作系统的内核 操作系统在整体上处于硬件和应用程序之间,其顶层是应用程序。操作系统的内核是对硬件的首次扩充,是实现操作系统各项功能的基础。操作系统内核部分是指在系统保护好的运行环境,所以它将一些与硬件密切相关的模块,运行频率较高的模块,关键性的数据结构以及公共的基本操作模块等纳入...

2018-06-29 17:19:03 530

原创 操作系统概论(1)

操作系统的特征和功能1.操作系统的特征不同的操作系统都具有以下4个基本特征: (1)并发:并发性和并行性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下, 并发性是指宏观上在一段时间内有多道程序在同时运行。但在单处理机系统中,每一时刻仅能执行一道程序,故微观上这些程序是在交替执行。程序的并发执行能有效改善...

2018-06-29 16:43:47 759

原创 操作系统概述(0)

什么是操作系统?1.操作系统的定义操作系统的定义到目前为止并没有一个严格统一的定义。只能综合操作系统的功能和特点,做一个较为全面的定义:操作系统是计算机系统中的最重要,最基本的系统软件。从资源管理的观点来看,它是计算机系统中的资源管理器(程序);它负责对系统的硬软件资源实施有效的控制和管理,提高系统资源的利用率。从方便用户使用的观点来看,它是一台虚拟机;它是计算机硬件的首次扩充,掩盖了硬件...

2018-06-29 13:57:16 193

原创 CEV-2010-2883 Adobe Reader漏洞复现

什么是CEV-2010-2883 Adobe Reader漏洞?“Stack-based buffer overflow in CoolType.dll in Adobe Reader and Acrobat 9.x before 9.4, and 8.x before 8.2.5 on Windows and Mac OS X, allows remote attackers to exec...

2018-04-09 19:53:37 1192

原创 关于C++的动态内存分配

为什么要使用动态内存分配?比较常见的情况是当我们使用一个数组时,我们需要去声明它,同时我们还需要提供给它一个编译时常量用于指定数组的长度。但是,我们有时候需要的数组并不是定长的。例如,我们要存储一个班级所有学生的数据,但是不同班的学生数量可能是不同的,我们虽然可以声明一个尽量大的数组来存储,但是这样会造成资源的浪费,而且也不利于扩展使用。所以,我们需要动态地去分配一个数组的空间。mal...

2018-04-07 00:10:10 2486 1

原创 关于C/C++的内存对齐

什么是内存对齐?内存对齐就是编译器在对变量分配内存时会将每个数据单元放置在合适的位置上。内存对齐实例:#include <iostream>using namespace::std;struct Memory{ int a; char c;}memo; int main(int argc, char *argv[]) { cout <...

2018-04-05 15:00:01 129

原创 Vlan+Vtp+Trunk

夜里饿得发慌,叫了个外卖,,结果吃完又饱得发慌,遂有此篇。。。 这一篇主要是介绍以下Vlan,Trunk,还有Vtp的应用以及在交换机上的配置。使用Cisco Packet Tracer Student模拟器进行实验。Vlan虚拟局域网:在我看来主要是用来在一个局域网中隔离出多个逻辑上的局域网; 如何理解呢? 假如腾讯有个微信事业部,也有个QQ空间业务部,虽然他们都是腾讯的,但是他们...

2018-04-05 02:26:59 482

原创 关于C++函数指针的思考

函数指针是什么?在程序运行中,函数代码是程序的算法指令部分,他们和数组一样也占用存储空间,并都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。例如:int fun(int x);int(*f)(int x);//参数列表必须和对应函数一样f = fun;在这段代码中将函数指针f指向了fun函数的入...

2018-04-04 16:02:27 219

原创 关于C++的sizeof(string)

看书的时候看到一道题,string a1 = “CHINA”;则”cout << sizeof(a1);”他的输出结果应该是多少? A.32 B.5 C.6 D.无限 原本第一念头就是选6,因为字符串的结尾还有个’\0’结束符,所以长度要+1; 但是又想到string的实现是以char数组或者char指针的形式来实现的,那么sizeof()一...

2018-04-03 15:43:05 3963

原创 随笔

C++程序设计教程课本错误偶然看到课本中在逻辑表达式部分这样说到:#include <iostream>using namespace::std;int mian(){ int a = 0,b = 2, c = 3; float x = 1.8, y = 2.4; //此处的值为1 cout << (a>b &&...

2018-04-02 21:42:18 116

原创 条款02:尽量以const,enum,inline替换#define疑问

《Effective C++》条款02 说到定义常量指针用const代替#define时,"由于常量定义通常被放在头文件内(以便被不同的源码含入),因此有必要将指针(而不只是指针所指之物)声明为const。"此处这样规定,是为了防止我们在定义常量字符串之后,在使用时,更改了指针所指向的位置,这样,就无法达到我们所想要的"常量"效果,当我们将指针也定义为常量之后,我们就可以确保我们使用该常量时,...

2018-03-03 20:57:33 172

原创 7种常见排序算法的c++实现

今天心血来潮复习了一下基本的排序算法,实现了一下,就顺便发上来咯。。在代码里做了注释了-。-也就不多说了,直接上代码吧。。// order_algorithm.cpp: 定义控制台应用程序的入口点。//author: netbin#include "stdafx.h"#include "iostream"#include <stdio.h>#include <stdl...

2018-03-02 22:18:34 826

空空如也

空空如也

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

TA关注的人

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