自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

始于足下的专栏

勿在浮沙筑高台

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

转载 Java中锁的几种状态

在Java中,锁一共有4种状态,级别从低到高依次是:无锁状态、偏向锁状态、轻量级锁状态和重量级锁状态,这几个状态会随着竞争情况逐渐升级。锁可以升级但不能降级,意味着偏向锁升级成轻量级锁后不能降级成偏向锁,这种锁升级却不能降级的策略,目的是为了提高锁和释放锁的效率。偏向锁:偏向锁的设计初衷:锁不仅不存在多线程竞争,而且总是由同一线程多次获得,为了让线程获得锁的代价更低而引入了偏向锁的概念...

2019-03-25 21:51:32 1524

原创 java线程安全volatile和synchronized关键字总结

volatile:volatile关键字主要有两个作用:1是可以禁止指令的重排序优化,2.是提供多线程访问共享变量的内存可见性,所谓的内存可见性,也就是线程在访问时,都能看得到,属于公开透明的范围。Java中支持多个线程可以同时访问一个对象或者对象的成员变量,也就是存在共享性。共享变量的使用存在一致性的问题,对于多线程开发中,可以使用不同级别的锁来解决它,但锁的使用也有他的优缺点。而关键字vo...

2019-03-25 20:43:47 1369

原创 日志系统中的API小结

对于Java Web来说,日志是特别重要的一个东西,很多时候,可能是了解应用程序如何执行的唯一方式。在Java中,在日志方面,有许多的日志框架。1.java.util.logging包,简称为j.u.l。在JDK1.4版本中就已经在使用。对于logging包,提供了七个日志级别来控制输出,分别为SEVERE、WARING、INFO、FINE、FINER、FINEST。2.Log4j它是...

2018-12-31 21:02:19 891

原创 enum(枚举)小结

1.含义:enum是计算机中的一种数据类型,枚举类型。使变量的取值被限定在一定的范围内,比如一年有四季。在枚举类型的定义中列举出所有可能的取值,则说明为该“枚举”类型的变量取值不能超过定义的范围。对于枚举类型来说,它是一种基本数据类型,不是一种构造类型,不能够再被分解为任何基本类型。枚举类型中一般规定了,枚举值是常量,不是变量,不能在程序中用赋值语句再进行赋值,只能把枚举值赋给枚举变量。一...

2018-12-09 13:11:12 402

转载 Kmeans、Kmeans++和KNN算法比较

K-Means介绍K-means算法是聚类分析中使用最广泛的算法之一。它把n个对象根据他们的属性分为k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。其聚类过程可以用下图表示:如图所示,数据样本用圆点表示,每个簇的中心点用叉叉表示。(a)刚开始时是原始数据,杂乱无章,没有label,看起来都一样,都是绿色的。(b)假设数据集可以分为两类,令K=...

2018-11-15 21:10:47 912

原创 K-Means聚类算法小结

1.基本概念K-Means算法是一种很典型的基于距离的聚类算法,采用距离作为相似性的评价标准,认为两个对象的距离越近,那么相似度就越大。把簇作为距离靠近的对象组成的,最终得到的是紧凑和独立的簇。对于聚类分析来说,用于发现数据对象之间的关系。组内的相似性越大,组间的相似性越小,可以说效果越好。K个初始类聚类中心点的选取对聚类结果具有比较大的影响。在算法的第一步中随机的选取了K个初始聚类的中心,代...

2018-11-15 20:45:41 1432

原创 KNN(K近邻)算法小结

1.K近邻算法的介绍:K近邻算法是一个理论上比较成熟的分类算法,也是机器学习中的基本算法。该方法的思路为:如果一个样本在特征空间中的K个最相似(即特征空间中最邻近)的样本中的大多数属于某一类别,那么这个样本也属于这个类别。用官方的话来说,就是给定一个训练数据集,对新的输入实例,在训练数据集中找到K个最邻近的数据点,这K个数据点大多属于某一类,那么这个实例也属于这一类。基本的过程为:将新的数据的...

2018-11-10 13:18:13 542

原创 Adaboost算法的原理和见解

1.Adaboost的原理Adaboost是一种迭代算法,针对同一个训练集中的不同分类器,然后把这些弱分类器集合起来,构成一个更强的最终分类器。(Adaptive boosting)自适应增强算法,擅长处理分类问题、标签问题和回归问题,用于数据分类问题较为多见。对于分类器而言,它是基于测试过程中错误反馈调节的分类器的分类效果。2.算法的流程算法实际上是一个简单的弱分类算法的提升过程,通...

2018-10-30 15:32:53 1612

原创 JVM中的垃圾回收

在Java中,内存是动态分配以及垃圾也是自动回收的。了解GC和内存分配,可以用来排查各种内存溢出、内存泄漏的问题,垃圾收集一般会成为系统瓶颈,所以需要对这些技术实施监控和调节。垃圾收集器对堆进行收集前,要确定这些对象是否还活着。看哪些对象可以被回收,何时回收这些对象,采用什么样的方式回收。一般有一些算法。引用计数算法,一种比较简单直观算法,效率比较高,当使用引用时,则+1,删除引用时,...

2018-10-26 12:57:32 196

转载 后端学习路线

有不少初学者问到,我想学习后端,但是又不知道该怎么学,所以我决定把这几年的经验和经历整理成一篇文章,分析后端的路该怎么走,先说明下面仅仅是个人心得,也许与外面的理论有所不同。(文章最后面会附上学习路线地图和一些自己看过的书籍)后端初接触后端首先需要学习的是html,css和js,也许你会问做网页不是前端做的事情吗?答案是对于真实开发环境后端很多时候还兼顾了前端这个角色,对于...

2018-09-13 14:01:26 31197 11

转载 大数据学习路线

看到一个博主写的大数据学习路线,看了比较心动,想着自己可以先在Java的道路上继续努力,打好基础。这篇文章也许以后会有用,就转载如下:当我说要做大数据工程师时他们都笑我,直到三个月后……标签: 大数据java工程师2017-10-25 14:52 2699人阅读 评论(10)收藏举报分类: 大数据(4) 作者同类文章X 版权声明:本...

2018-09-04 21:17:27 902

原创 Java中的IO流总结(续)

IO流中的转换流OutputStreamWriter是字符流通向字节流的桥梁,可使用指定的字符流编码表,将要写入流中的字符编吗成字节,将字符串按照指定的编吗表转成字节,再使用字节流将这些字节写出去。对于字符转换成字节输出的原理,在我们调用OutputStreamWriter对象的write方法时,会拿着字符到指定的码表中进行查询,把查到的字符编码值转换成字节数存放到OutputStreamWr...

2018-09-04 20:38:19 162

原创 Java中的IO流总结

在计算机编程中,流就是一个类的对象,很多文件的输入输出操作都以类的成员函数的方式来提供。流其实是一种信息的转换,它是一种有序流,对象间进行信息或者数据的交换时总是先将对象或数据转换为某种形式的流,再通过流的传输,到达目的对象后再将流转换为对象数据。因此可以把流看成是一种数据的载体,通过它可以实现数据交换和输出。Java中的IO流可以分为字节流和字符流。字节流:字节输入流 InputSt...

2018-09-04 16:03:25 163

原创 Java中的集合框架

在Java2之前,是没有完整的集合框架的。只有一些简单的可以扩展的容器类。比如Vector、Stack、Hashtable等。Vector中包含的元素可以通过一个整型的索引值取得,它的大小可以在添加或移除元素时自动增加或减小。Stack是一种后进先出的堆栈序列。Hashtable与Map类似,可以看成一种关联或映射数组,可以将两个或多个毫无关系的对象相关联,与数组不同的是它的大小可以动态变化。...

2018-08-22 19:41:05 197

原创 Java中常用的API总结

Java API是JDK所提供的使用类,这些类将底层的代码给封装起来了。Object类是java语言中的根类,它所描述的所有方法子类都可以使用,所有类在创建对象的时候,最终找的父类就是Object。在Objec类中,最常见的就是euqals方法和toString方法。equals方法用于比较两个对象是否相同,实质是比较两个对象的内存地址。在复写Object中的equals方法时,一定要注意publ...

2018-08-18 16:30:31 23369

原创 Python中的装饰器

装饰器是程序开发中经常会用到的功能,用好装饰器,可以让开发效率提高不少。装饰器的使用来加深不同模块之间的联系,并减少冗余代码。比如基础平台负责底层的功能,业务部门使用基础功能时,只需要调用基础平台提供的功能即可。当基础平台需要添加功能(对基础平台的所有功能进行重构)时,使用装饰器可以比较好的实现。比如基础平台提供的功能如下:def f1(): print('f1') d...

2018-08-15 21:37:32 185

转载 Python爬虫实例项目大全

WechatSogou [1]- 微信公众号爬虫。基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。DouBanSpider [2]- 豆瓣读书爬虫。可以爬下豆瓣读书标签下的所有图书,按评分排名依次存储,存储到Excel中,可方便大家筛选搜罗,比如筛选评价人数>1000的高分书籍;可依据不同...

2018-08-09 15:37:34 1576

原创 Python中的生成器(generator)和迭代器(Iterator)

Python是一种动态的编程语言,那就具有动态编程语言的特性,可以在运行时改变其结构,比如新的函数,对象、代码也可以引进,已有的函数可以被删除。。。目前最常用的可以归纳为以下几点:1.运行的过程中给对象绑定(添加)属性,2.运行过程中给类绑定(添加)属性,3.运行的过程中给类绑定(添加)方法,4.运行的过程中删除属性和方法。在安全和限制的条件下,可以使用__slots__变量来达到此目的。需要注意...

2018-08-08 21:28:27 498

原创 python中的元类解读

在多数的编程语言中,类就是一组用来描述如何生成一个对象的代码段,但类也是对象。只要使用关键词class。python解释器在执行时就会创建一个对象。对于一个对象·:可做的操作:赋值给一个变量,拷贝,增加属性,作为函数参数进行传递等。类也是对象,可以在运行时动态的创建。对于动态的创建类,可以使用type,它可以接受一个类的描述作为参数,然后返回一个类,另一方面,type还可以创建带有属性的类,可...

2018-08-05 21:32:26 285

转载 有哪些适合新手练手的Python项目?

学习编程专栏连载编程新手练手项目系列之python项目篇,同样也欢迎热爱学习、对Java感兴趣的朋友学习翻阅上两篇内容。有哪些适合新手练手的Java项目? - 学习编程 - 知乎专栏有哪些适合新手练手的Java Web项目? - 学习编程 - 知乎专栏Python毫无疑问是一门很伟大的语言,最近几年,很多人都在Python的世界里转悠。也有很多对编程有着浓厚的兴趣但是不是相关专业的朋友...

2018-08-02 20:39:20 12418

原创 面向对象中的final和static关键字特点总结

1 final的特点1.1 final修饰类不可以被继承,但是可以继承其他类。class Yy {}final class Fu extends Yy{} //可以继承Yy类class Zi extends Fu{} //不能继承Fu类 1.2 final修饰的方法不可以被覆盖,但父类中没有被final修饰方法,子类覆盖后可以加final。class Fu {// final修饰的方法,不可以被覆...

2018-05-04 10:27:18 354

空空如也

空空如也

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

TA关注的人

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