自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Smarts

学路漫漫,与君共勉!

  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

原创 java中静态数据(块)、main方法、构造块、构造函数的运行顺序

前言最近在啃《Java编程思想》,其中有很多东西,以前学过,有些都忘了,于是乎,我就想着捡起来,看到第七章《复用类》,文章中提出通过组合、继承的方式来进行类的复用,当然还可以通过代理(虽然java不直接支持代理)。关于“组合”稍微提下,就是在新的类中产生现有类的对象,通俗点就是将一个的类对象作为新类的成员变量。关于"继承",也稍微提下,就是一个类使用extends 继承父类,其中继承的类具有父类...

2019-09-12 11:28:35 689

转载 漫谈:Java和Python现在都挺火,我应该怎么选?Java和Python优缺点比较。

声明:这是一篇容易引起撕逼的文章,为了祖国和谐,人民安康,请各位看官尽量理性讨论。同时,这篇文章是面向一些初入行的朋友进行一些相对中肯一点的分析和建议而已,虽然有浓厚的个人色彩,但我还是尽量以事实说话,以代码说话,大牛们就不要拿自己的牛逼经验来这里装逼了,当然,你如果非得来跟我撕,哥们儿我奉陪。另外,由于文中以自己所在的机构蜗牛学院所做的一些事情来举例,如果你认为这是软文广告,请止步于此。强哥打广...

2019-09-09 17:20:39 401 1

原创 Java编程思想之《一切都是对象》理解

前言《Java编程思想》中提到,Java是基于C++的,但相比之下,Java是一种"纯粹"的面向对象的程序设计语言。Java中不再使用指针来操作内存中的元素,而是采用对象的 “引用”【这个引用是作者提出的一种为了简化概念上的理解和C++语言的引用有着一些重大差异,望读者不必过于深究。】对象的理解使用引用来操作对象。Java中对一切对象的操作,都是通过对【对象的引用】的操作来实现的,...

2019-08-25 23:04:31 362

转载 Mysql分库分表,你需要看看这篇!

Mysql分库分表方案1.为什么要分表:当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据进行操作。...

2019-08-25 13:39:38 483

原创 图解HashMap扩容和ArrayList的扩容机制。

前言众所周知,hashmap和Arraylist作为java中非常重要的一种数据结构,应用场景非常广泛,这篇文章主要针对HashMap和ArrayList的扩容机制进行分析。HashMap扩容机制分析在说HashMap扩容机制之前,有必要简述下HashMap的基本结构。以便各位更加清除的理解HashMap的底层是如何扩容的。HashMap自JDK1.8之后结构采用数组+单链表【单链表长度达到...

2019-08-22 22:54:44 6080 3

转载 过来人给Java初学者的建议!

给初学者之一:浅谈java及应用学java不知不觉也已经三年了从不知java为何物到现在一个小小的j2ee项目经理虽说不上此道高手,大概也算有点斤两了吧每次上网,泡b...

2019-08-22 13:08:48 852 1

转载 Eclipse的Debug调试技巧指南!

一、Debug视图调试中最常用的窗口是:窗口说明Debug窗口主要显示当前线程方法调用栈, 以及代码行数(有调试信息的代码)断点Breakpoints窗口=> 断点列表窗口,可以方便增加断点,设置断点条件,删除断点等变量Variables窗口=> 显示当前方法的本地变量,非static方法,包含this应用,可以修改变量值代码编辑窗口=...

2019-08-22 12:03:02 259

转载 JDK1.8之 HashMap的红黑树结构、初始容量值16分析,你不可不知!

     桶: 就是hashmap的table数组     bin: 就是挂在数组上的链表    TreeNode: 红黑树    capacity: table总容量   MIN_TREEIFY_CAPACITY :64   转化为红黑树table最...

2019-08-21 23:01:48 1938

转载 图解AVL树

AVL树(平衡二叉树):  AVL树本质上是一颗二叉查找树,但是它又具有以下特点:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为平衡二叉树。下面是平衡二叉树和非平衡二叉树对比的例图:  平衡因子(bf):结点的左子树的深度减去右子树的深度,那么显然-1<=bf<...

2019-08-21 22:50:24 183

转载 剖析关系型数据库和NOSQL的本质,并没有孰优孰劣。

前言:    在大数据领域,被业界广泛谈及的CAP理论存在着一些关键性的认知误区,而只有全面地考察与分析分布式环境中的各种场景,我们才能真正正确地理解它。  目前,CAP(Consistency一致性、Availability可用性、Partition-tolerance分区可容忍性)理论普遍被当作是大数据技术的理论基础。同时,根据该理论,业界有一种非常流行、非常“专业”的认识,那就...

2019-08-21 22:37:03 175

转载 已知二叉树的中序遍历和前序遍历,如何求后序遍历?

假设有棵树,长下面这个样子,它的前序遍历,中序遍历,后续遍历都很容易知道。PreO...

2019-08-20 17:06:09 415

转载 B树、B+树、LSM树以及其典型应用场景

前言动态查找树主要有:二叉查找树、平衡二叉树、红黑树、B树、B+树。前面三种是典型的二叉查找树,查找的时间复杂度是O(log2N)与树的深度有关系,那么降低树的深度也就可以提升查找效率。这时就提出了平衡多路查找树,也就是B树以及B+树。B树和B+树非常典型的场景就是用于关系型数据库的索引(MySQL)B树B树是一种平衡多路搜索树,B树与红黑树最大的不同在于,B树的结点可以有多个子女,从几...

2019-08-19 11:47:47 249

转载 Java NIO与Java IO

Java.nio与java.io之间有什么区别?它们分别用于哪些场景? 即优点和缺点。java io nio 区别和联系.IO     &nb...

2019-08-17 21:51:08 157

转载 什么是NIO?NIO的原理是什么机制?

NIO和IO到底有什么区别?有什么关系?首先说一下核心区别:NIO是以块的方式处理数据,但是IO是以最基础的字节流的形式去写入和...

2019-08-17 21:03:57 175

原创 浅拷贝和深拷贝的区别及js实现

前序几乎大部分语言中都有copy这样的函数或者是方法。用于对数据的复制操作。[其中数据类型数组,对象,等]。但是编程序的人,大部分在语言中都会有普通的拷贝方法和deepCopy方法。因此在这里做个叙述,用来介绍这两个方法的区别。浅拷贝浅拷贝就是拷贝指向对象的指针,意思就是说:拷贝出来的目标对象的指针和源对象的指针指向的内存空间是同一块空间,浅拷贝只是一种简单的拷贝,让几个对象公用一个内存,然...

2019-08-15 22:49:41 548

原创 蒙特卡洛算法JavaScript实现

蒙特卡洛算法简述蒙特卡洛算法不是指某一种算法。是一种以概率统计为理论指导的一类数值计算的方法。是指使用随机数或者是伪随机数来解决很多问题的方法。蒙特卡洛方法的理论基础是大数定律。大数定律是描述相当多次数重复试验的结果会趋向一种稳定的定律[也就是常说的偶然中存在某种必然],根据这个定律知道 样本数量越多,其平均就越趋近于真实值。关于蒙特卡洛的产生背景和其他相关信息。大家可以自行百度。有趣的游戏...

2019-08-13 20:38:27 722 2

原创 使用js原生方法和JQuery中ajax方法一次性上传多个文件

JavaScript原生方法实现。html片段<input type="file" name="file" id="FileUpload" multiple > //支持多文件选择上传<input type="button" value="上传" id="sub">js 代码://核心代码.第一个参数上FormData对象。第二个是上传文件表单对象。 ...

2019-08-06 18:53:26 3277

原创 JSONP解决跨域请求和JQuery中load()方法介绍

跨域与同源同源策略是浏览器的一种安全策略,所谓同源,是指该地址的协议、域名、端口都一样。默认情况下,只有同源的地址才可以通过AJAX方式请求。不同源之间的请求我们称为跨域请求。由于XMLHttpRequest无法发送不同源地址之间的请求。所以为了解决跨域请求的问题。我们使用JSONP这种方式来进行请求。JSONP介绍与实现原理分析: JSON with Padding,是一种借助于 &l...

2019-08-05 17:29:54 3958

原创 Ajax 介绍、JQuery中的Ajax常规使用

Ajax 介绍MDN给出的一个解释。Asynchronous(异步)JavaScript + XML,而不是技术本身,是2005年由Jesse JamesGarrett的术语,描述了一个“新”的方法一起使用的现有技术,包括HTML或XHTML、层叠样式表,JavaScript,文档对象模型,XML、XSLT,最重要的是XMLHttpRequest对象。当这些技术在Ajax模型中结合使用时...

2019-08-05 15:26:05 277

原创 JavaScript学习篇之DOM第一篇

Dom介绍

2019-07-16 12:23:43 132

原创 JavaScript学习篇之内置对象介绍和使用。

前言web开发学习必须知道的网站: MDN 这里面有着详细的学习web开发的指南。关于web开发中遇到的不懂的,可以进这个网站进行检索。常用内置对象。1、常用的内置对象:Array:用于在单独的变量名中存储一系列的值Date:用于操作日期和时间String:用于支持对字符串的处理Math:用于执行常用的数学计算,它包含了若干个数字常量和函数2、Array数组对象var arr =...

2019-07-15 22:24:00 90

原创 JavaScript学习篇第二天

函数类型转换函数:数字型:parseInt(“d10d”); /转换失败 NAN 以字母开头的不可以转换但是以数字开头可以转换。/parseFloat(“3.222”) ; //转换为小数*/Number(9.5); /转换为数字/字符型:String(num)); //不严格,没有定义不会报错。num.toString()); //严格没有定义的会报错。布尔型...

2019-07-14 16:30:55 104

原创 JavaScript学习篇第一天

JavaScript 语言基础声明变量三种方式声明变量; var , let, const.其中var 用来声明 全局变量,let 用来声明变量只能在块级作用域内部有效。const用于声明变量为一个不可以修改的值。而且必须初始化,也就是要给个值,不然会报错。类似于JAVA中的 final 关键字。三种方式声明全局变量: 第一种: 使用var 声明。 第二种:不用声明,直接为隐式全局变量。...

2019-07-14 13:51:27 100

原创 前端学习html+css完结篇第十二天

css3中 3d变形transform先介绍这个之前引入一个新知识;由于这个参数是css3的样式,必然存在老版本浏览器不支持的情况。因此为了保证兼容之前的浏览器,于是就有了浏览器的前缀。浏览器的前缀 | 浏览器-webkit- | Google Chrome, Safari ,Android Browser-moz- | Firefox-o- | Opera-...

2019-07-09 16:54:24 152 4

原创 前端学习篇第十一天

制作ico图标第一步:获取或者是制作ico图标的图片。第二步:进入在线制作ico图片网站 网站在线制作ico图标。假设有一张图片。将其制作成图标。进入网站会出现以下界面,依次点击即可。于是就有了图标图标引入的代码:<link rel="shortcut icon" href="../ifavicon.ico" type="image/x-icon"> //其中这个...

2019-07-06 14:22:19 122

原创 前端学习基础第十天

css文件代码压缩一、安装node和npm(不做介绍,在我之前转载的博客中有)二、安装ckstyle npm install -g ckstyle三、安装ckstyle-serve(仅仅代码压缩可以不用安装这个) npm install -g ckstyle-serve使用介绍:压缩css文件命令:先把需要压缩的文件上传至linux系统中去 example: rz bas...

2019-07-04 14:11:51 171

转载 centos7安装node和npm

首先安装wget,用于下载nodeyum install -y wget在node官网查看node最新版本,使用wget下载node最新包<>wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz解压下载的node包,分别执行以下指令xz -d node-v10.13.0-linux-x64....

2019-07-03 16:33:36 3710

原创 前端学习基础第九天

练习独立完成网站底部和中间块的书写。以京东首页为例。效果图如下:

2019-07-03 12:32:43 95

原创 前端学习基础第八天

引入图标字体字体图标的优点:体积更小,但携带的信息没有削减。支持所有的浏览器。可以随意改变颜色、产生阴影、透明效果等。移动端设备必备良药。最常用使用的两种图标字体: icomoon(德国)、icofont (国内)。引入图标字体步骤如下。第一步:先去官网下载自己需要的图标字体的压缩包,然后进行解压。将其添加至项目src目录下。第二步:引入图标字体(注意,这个本质是字体,因此占用的存...

2019-07-02 16:31:38 555

原创 前端学习基础第七天

重要样式display显示样式:display:none; /*隐藏样式 */ 这个不会占用页面的位置display:block; / *这个可以用来显示样式 */display:inline-block; /*行内块样式 */display:inline; /*行内元素 */visibility 显示样式:visibility: visible; /*这个用来显...

2019-07-02 10:23:51 119

原创 前端学习基础第六天

浮动清除的四种方式为什么需要清楚浮动?因为在有些时候我们设置一个block盒子过程中无法给出一个确切的高度的时候,而里面的子block采用了浮动,会导致高度有可能消失了,接下来没有浮动的标签直接填充在block盒子的最上面。失去了盒子包括子block的效果。额外标签法在盒子后面添加一个标签。样式中添加: clear: both; .clear{ clear:...

2019-07-02 10:23:44 1161

原创 前端学习基础第五天

零散注意知识点当一个div盒子出现margin-bottom和下一个div 盒子有margin-top同时存在的时候,会发生合并。只保留最大的那个margin。 .top1,.top2{ width: 300px; height: 200px; margin: 0px auto 20px; ...

2019-07-02 10:23:36 691

原创 前端学习基础第四天

一、css三大特性及注意事项css三大特性层叠性样式的设置是以一层一层的形式来叠加生效的.继承性子标签的样式,可以从父级标签中样式继承下来,但只有一部分样式是可以继承的。且继承的权重为0,一旦子标签的样式进行了设置,则会放弃父级标签的样式,应用自己的样式。优先级在选择标签的时候,存在优先级的问题,优先级的权重排序如下:!important>style="行内样式 ">...

2019-07-02 10:23:27 723

原创 前端学习基础第三天

一、常见各种选择器.标签选择器类选择器id选择器后代选择器子代选择器交集选择器并集选择器伪类选择器1,标签选择器,通过直接选择标签的方式,来对标签的内部样式进行调整 em{ font-style: normal; color: skyblue; }<p>新浪体育讯 7月16日是燕京啤酒<em...

2019-07-02 10:23:18 189

原创 前端学习基础第二天

引入表格web前端页面的有很多模块可以使用表格来实现。比如:<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-sca...

2019-07-02 10:23:03 304

原创 前端学习基础篇一

常用标签介绍标题标签:<h1>~<h6>盒子:<div> ,<span>点击标签: <a>段落标签:<p>列表标签:ul>li [无序] ol>li [有序] dl>dt>dd [自定义列表]单标签: <br />换行    <img />...

2019-07-02 10:21:56 227

转载 HTTP消息中header头部信息的讲解

HTTP消息中header头部信息的讲解本文导读:HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成HTTP Request的Header信息1、HTTP请求方式如下表:...

2019-04-16 17:23:37 3287

转载 深入 char * ,char ** ,char a[ ] ,char *a[]

 1 数组的本质   数组是多个元素的集合,在内存中分布在地址相连的单元中,所以可以通过其下标访问不同单元的元素。 2 指针。   指针也是一种变量,只不过它的内存单元中保存的是一个标识其他位置的地址。。由于地址也是整数,在32位平台下,指针默认为32位。。 3 指针的指向?   指向的直接意思就是指针...

2019-03-27 15:18:52 157

原创 native方法在java中介绍及使用图解

一、native()方法简单介绍。概念:简单地讲,一个Native Method就是一个Java调用非java代码的接口(因为这个整个实现是用非JAVA语言来完成的),这个native方法不可以使用abstract 来修饰,因为这个方法不是抽象的,方法有实体,但是实体实现的语言不是JAVA而已。一个JAVA Native Method 可能是这样:该方法的实现由非java语言实现,比如C。当然...

2019-03-27 11:18:17 12671 5

原创 最大连续子数组的三种解决方案

一、暴力求解遍历整个数组,从数组第一个元素一一和后面的元素进行相加不断扩充序列,将结果值进行比较,直到得到第一轮的最大值,在从数组第二个元素一一和后面的元素进行相加不断扩充序列和第一轮的最大值进行比较,重复执行以上步骤直到最后一个元素,这样边得到最大子数组。算法的复杂度为O(n^2).代码实现如下:import java.util.Arrays;public class ForthTopi...

2019-03-18 23:46:08 8640 3

单页扒站小工具.rar

用于快速制作Html,仿造其他网站快速制作自己页面的工具,有需要的可以自行下载,禁止商用。

2019-07-13

空空如也

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

TA关注的人

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