- 博客(209)
- 资源 (19)
- 收藏
- 关注
原创 Comparable接口和Comparator接口的比较
概述 在实际应用中,我们往往有需要比较两个自定义对象大小的地方。而这些自定义对象的比较,就不像简单的整型数据那么简单,它们往往包含有许多的属性,我们一般都是根据这些属性对自定义对象进行比较的。所以Java中要比较对象的大小或者要对对象的集合进行排序,需要通过比较这些对象的某些属性的大小来确定它们之间的大小关系。 一般,Java中通过接口实现两个对象的比较,比较常用就是C...
2018-05-15 10:06:45 4814 1
原创 java.util.Collections
Collections简介 public class Collections extends Object,此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在collection 上操作的多态算法,即“包装器”,包装器返回由指定collection 支持的新 collection,以及少数其他内容。 如果为此类的方法所提...
2018-05-14 10:54:24 4974
原创 java.lang.String
String简介 public final class String extends Object implements Serializable, Comparable<String>, CharSequence。 String类代表字符串。Java 程序中的所有字符串字面值(如"abc" )都作为此类的实例实现。 字符串是常量;它们的值在创...
2018-05-01 23:02:47 620
原创 Java多线程编程---java5阻塞队列
java5阻塞队列的应用 队列包含固定长度的队列和不固定长度的队列,先进先出。 固定长度的队列往里放数据,如果放满了还要放,阻塞式队列就会等待,直到有数据取出,空出位置后才继续放;非阻塞式队列不能等待就只能报错了。 讲Condition时提到了阻塞队列的原理,Java中已经实现了阻塞队列ArrayBlockingQueue、BlockingQueue<...
2018-04-20 22:38:15 1158
原创 Java多线程编程---Java5同步工具
Semaphore同步工具 Semaphore可以维护当前访问自身的线程个数,并且提供了同步机制。 semaphore实现的功能类似于厕所里有5个坑,有10个人要上厕所,同时就只能有5个人占用,当5个人中的任何一个让开后,其中在等待的另外5个人中又有一个可以占用了。java.util.concurrent.Semaphore 一个计数信号量。从概念上讲,信...
2018-04-16 22:48:28 516
原创 java.lang.Math
Math类简介 public final class Math extends Object Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。 与 StrictMath 类的某些数学方法不同,并非 Math 类所有等价函数的实现都定义为返回逐位相同的结果。此类在不需要严格重复的地方可以得到更好的执行。 默认情况...
2018-04-16 12:24:31 1267
原创 Java多线程编程---内存可见性
什么是JAVA 内存模型 Java Memory Model (JAVA 内存模型)描述线程之间如何通过内存(memory)来进行交互。具体说来,JVM中存在一个主存区(Main Memory或Java HeapMemory),对于所有线程进行共享,而每个线程又有自己的工作内存(Working Memory),工作内存中保存的是主存中某些变量的拷贝,线程对所有变量的操作并非发生在主存...
2018-04-15 17:21:26 1932
原创 Java多线程编程---线程同步与通信技术(Lock & Condition)
Java5的条件阻塞条件 条件的功能类似在传统线程技术中的的Object.wait()和Object.natify()的功能,传统线程技术实现的互斥只能一个线程单独执行,不能说这个线程执行完了通知另一个线程来执行,条件就是解决这个问题的,实现线程间的通信。比如CPU让线程1做事,线程1说我先歇着并通知线程2,线程2就开始做事。 公共接口条件 条件将对象监视...
2018-04-10 16:20:08 531
原创 Java多线程编程---线程锁与读写锁
java.util.concurrent.locks 为锁和等待条件提供一个框架的接口和类的相关包。接口摘要 1、Condition:Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set(wait-set)。 ...
2018-04-09 23:28:07 1818
原创 Java多线程编程---并发框架Executor
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,而当针对高质量Java多线程并发程序设计时,为防止死锁等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的危害等诸多因素,往往会采用一些较为复杂的安全策略,加重了程序员的开发...
2018-04-08 21:51:25 2793
原创 Java多线程编程---线程内数据共享
线程范围内共享数据 线程范围内共享变量要实现的效果为:多个对象间共享同一线程内的变量。未实现线程共享变量的demo:public class ThreadScopeDataShare { private static int data = 0; public static void main(String[] args) { // 共启动2个线程 for (int i ...
2018-04-08 09:19:07 4803 2
原创 java.lang.ThreadLocal
JDK解析 public class ThreadLocal<T> extends Object 该类提供了线程局部(thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal实例通常是类中的private static ...
2018-04-08 09:00:30 1199
原创 Java多线程编程---传统线程同步与通信技术(synchronized)
Java线程的同步 多线程的并发,给我们编程带来很多好处,完成更多更有效率的程序。但是也给我们带来线程安全问题。 解决问题的关键就是要保证容易出问题的代码的原子性,所谓原子性就是指:当a线程在执行某段代码的时候,别的线程必须等到a线程执行完后,它才能执行这段代码。也就是排队一个一个解决。 java处理线程同步的方法非常简单,只需要在需要同步的代码段,用:s...
2018-04-07 12:24:47 640 1
原创 Java多线程编程---线程基础
线程与进程进程 要解释线程,就必须明白什么是进程,就好象要搞清中国历史,就必须要了解春秋战国。什么是进程呢?进程是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间),比如用户点击桌面的IE浏览器,就启动了一个进程,操作系统就会为该进程分配独立的地址空间。当用户再次点击桌面的IE浏览器,又启动了一个进程,操作系统将为新的进程分配新的独立的地址空间。目前操作系统都支持多进程。 ...
2018-04-07 10:19:27 301
原创 Java类中不同代码块的执行顺序
代码块 在Java中,使用 { } 括起来的代码被称为代码块。 根据其位置和声明的不同,可以分为: 1、局部代码块:局部位置,用于限定变量的生命周期。 2、构造代码块(非静态代码块):在类中的成员位置,用 {} 括起来的代码。每次调用构造方法执行前,都会先执行构造代码块。 { } 作用:可以把多个...
2018-04-03 10:17:27 2134
原创 SSM+Redis整合开发
mybatis整合Redis Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 不使用分布式缓存,缓存数据在各自的服务器中存储,不方便系统开发,所以要使用分布式缓存对缓存数据进行集中式管理。 mybatis本身无法实现分布式缓存,需要和其他的分布式缓存进行整合。整合方...
2018-03-30 16:48:21 5643 2
原创 面向对象编程设计模式------单例模式
单例模式Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。1、私有化类的构造函数,防止类外部的代码创建该类的实例。所有类都有构造方法,不编码则系统默认生成空的构造方法,若有显示定义的构造方法,...
2018-03-13 16:11:26 337
原创 SSM框架+RESTful开发
什么是RESTful? RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。RESTful(即Representational State Transfer的缩写)是一种开发理念,是对于http的很好的诠释。 对url进行规范,写成RESTful格式的url: 非REST的url:...
2018-03-11 22:07:25 11061 4
原创 FilenameFilter和FileFilter文件过滤器
文件过滤器简介 public interface FilenameFilter 实现此接口的类实例可用于过滤器文件名。Abstract Window Toolkit 的文件对话框组件使用这些实例过滤 File 类的 list 方法中的目录清单。 public interface FileFilter 用于抽象路径名的过滤器。 此接口的实例可...
2018-03-01 15:36:29 4977
原创 java.io.File
File类简介 public class File extends Object implements Serializable, Comparable<File> 文件和目录路径名的抽象表示形式。 用户界面和操作系统使用与系统相关的路径名字符串来命名文件和目录。此类呈现分层路径名的一个抽象的、与系统无关的视图。抽象路径名有两个组件: ...
2018-03-01 09:39:46 479
原创 Java程序打包成jar文件
Java程序打包jar文件(jar命令形式) 先打开命令提示符,输入jar,然后回车(如果你已经配置好了java环境),可以看到: 用法:jar{ctxu}[vfm0Mi] [jar-文件] [manifest-文件][-C 目录] 文件名... 选项: -c创建新的存档 -t列出存档内容的列表
2017-12-18 23:17:08 14899
原创 万历十五年读后感
从前些年的《明朝那些事》开始,喜欢上了明史,其实每一段历史都有它有趣之处。以史为鉴可以知兴替,这般格局对于普通人来说,也确实大了些,但是可以读到很多有趣的故事,可以思考一些有趣的问题,这确是实实在在的,也很有意思的事情。 近来在读黄仁宇先生的《万历十五年》,只想说写得精彩,原来历史还可以这样解读。 万历朝可以说是明由盛转衰的转折点,前期的张居正,锐意改革,整顿吏治,搬行新法;而防守
2017-12-06 21:16:01 3993
原创 Sublime Text 3使用详解
Sublime Text:一款具有代码高亮、语法提示、自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持插件扩展机制,用它来写代码,绝对是一种享受。Sublime Text插件安装 Sublime Text的强大就是她拥有强大的课可扩展性。您可根据自己的需要安装不同的插件;这使得她变的无比强大的同时又不失轻便。插件安装方式一:直接安装 ...
2017-11-29 15:56:02 15139 4
原创 Tomcat安装出错问题及新建Servlet错误
Tomcat服务器 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java 爱好者
2017-11-25 13:56:15 2720
原创 Sql Server登录问题汇总
Sql Server登录问题汇总 Sql Server安装之后,经常会遇到登录失败的问题,下面就可能出现的问题进行总结。 首先是服务器类型、服务器名称、身份验证。 服务器类型:就是你要登录的那一项服务、比如数据库引擎、分析服务、报表服务等。 服务器名称:你要登录到的服务器名字或者IP地址+实例名(默认实例名则可以不填写),如果
2017-11-11 17:37:57 1857
原创 Markdown入门指导
前言 Markdown 是一种「标记语言」,通常为程序员群体所用。这里解释一下作家用 Markdown 保存自己写的东西有什么好处。 大部分作家用 Word 或 Pages 写作,过去的文档也大都以 .doc, .docx格式或是 Pages 格式储存。还有人为了保证文稿发给谁都能正常打开,会用 .txt 格式。 .doc 或 Pages 格式...
2017-10-28 22:56:18 704
原创 中国大学排名定向爬取实例
一、功能描述 功能:中国大学排名定向排名爬取。 展示:以简单表格的形式输出大学排名结果,包括排名、大学名称、地点、总得分。 定向URL:http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html。二、源代码#coding=utf-8'''Created on 2017年
2017-10-25 17:13:06 1816 2
原创 信息标记与提取方法(XML、JSON、YAML)
信息标记 实际应用中的原始数据往往是杂乱无章的,为了更加方便组织和存储各种信息,以及为计算机处理、传播消息提供一种统一的方法。必须对信息进行一定的标记,信息标记的特点一般有以下几点: 1、标记后的信息可形成信息组织结构,增加了信息维度 2、标记的结构与信息一样具有重要价值 3、标记后的信息可用于通信、存储或展示
2017-10-17 21:54:47 2844 1
原创 Beautiful Soup库入门
Beautiful Soup简介与安装简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下: Beautiful Soup提供一些简单的python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程
2017-10-16 19:09:56 2056
原创 Python网络爬虫基础及Requests库入门
Robots协议网络爬虫的问题 在讲python网络爬虫之前,先来看看网络爬虫的一些问题以及robots协议。首先python爬虫功能主要使用的库有Requests库和Scrapy库。他们的区别如下: 正常情况下Web服务器默认接收人类访问,受限于编写水平和目的,网络爬虫将会带来一些问题: 1、性能骚扰:为Web服务器带来巨大的资源开销
2017-10-13 22:28:57 1386 1
原创 HTTP协议详解
HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,
2017-10-13 17:54:22 768
原创 java.lang.Integer
Integer的定义 public final class Integer extends Number implements Comparable Integer类在对象中包装了一个基本类型int的值。Integer类型的对象包含一个int类型的字段。 此外,该类提供了多个方法,能在int类型和String类型之间互相转换,还提供了处理int
2017-10-08 18:06:47 4134
原创 Linux中MySql数据库的使用
Linux中MySql数据库的使用 概述:Mysql数据库在linux下可以充分发挥威力,Mysql数据库越来越受到软件公司的青睐,为什么呢?(1)、免费开源,(2)、跨平台,(3)、轻量级,(4)、支持多并发。从节约成本的角度考虑。Mysql特别适合中、小型项目。Mysql数据库在linux下的安装和配置MySQL的安装 Ubuntu上安装MySQL非
2017-10-07 12:04:04 4041
原创 Linux任务调度和进程管理
任务调度命令 概述:任务调度:是指系统在某个时间执行的特定的命令或程序。任务调度分类: 1、系统工作:有些重要的工作必须周而复始的执行。如病毒扫描等。 2、个别用户工作:个别用户可能希望执行某些程序。设置任务调度文件:/etc/crontab 设置个人任务调度。执行crontab -e命令。接着输入任务到调度文件。
2017-10-07 09:22:13 1652
原创 Linux网络基础及其配置
一、Linux网络基础tcp/ip的由来 概述:linux/unix的世界就是网络的世界。而网络的基础就是tcp/ip,tcp/ip是什么:tcp/ip是unix/linux世界的网络基础,在某种意义上,unix网络就是tcp/ip, 而且tcp/ip就是网络互联的标准。它不是一个独立的协议,而是一组协议。(tcp,ip,udp,arp,rarp等协议)。osi与tcp/
2017-10-05 17:47:18 1099
原创 TCL脚本语言详解
语言简介 TCL是一种很通用的脚本语言,功能强大。最早称为“工具命令语言”"Tool Command Language",但是目前已经不是这个含义,不过我们仍然称呼它TCL,发音为"tickle”。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。 实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程
2017-09-29 18:52:44 74739 8
原创 Linux awk工具详解
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk有3个不同版本:awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是AWK的GNU版本。 awk其名称
2017-09-29 16:45:37 1260
原创 Linux分区与磁盘管理
1、概述 首先我们要对硬盘分区的基本概念进行一些初步的了解,硬盘的分区主要分为基本分区(PrimaryPartion)和扩展分区(Extension Partion)两种,基本分区和扩展分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩展分区再分下去的是什么呢?它就是逻辑分区(Logical
2017-09-28 21:01:40 1031
原创 Linux用户和组的概念
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者,所有组,其他组的概念。 所有者:一般为文件的创建者。【用ls -ahl可以看到文件的所有者,用chown用户名文件名来修改该文件的所有者】。 所在组:当某个用户创建了一个文件后,这个文件的所在组就是该用户的所在组。【用ls –ahl可以看到文件的所有组,用chgrp组名文
2017-09-27 11:38:43 1963
原创 Linux文件系统详解
一、Linux文件系统 在Linux中,所有的设备都是文件。文件的类型是根据文件头字段来判断,而非文件的后缀名。 用户配置文件:~/.bashrc ~/.bash_profile ~/.bash_logout 全局配置文件:/etc/profile /etc/bashrc二、Linux文件系统目录结构 linux
2017-09-26 17:47:31 5527
servlet-api.jar
2017-11-24
python数据分析全套课件
2017-11-24
大数据学习全套PPT下载
2017-10-26
MATLAB实现三边测量定位算法
2017-08-19
八大排序算法总结(含Java实现源代码)
2017-08-06
Kmeans聚类算法详解与实现
2017-07-09
阿里巴巴 Java 开发手册
2017-03-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人