![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
大西瓜不甜
这个作者很懒,什么都没留下…
展开
-
Daemon 是个什么?
百度翻译查这个词使守护精灵的意思,在Java中daemon是守护线程的意思守护线程是一种特殊的线程,就和它的名字一样,它是系统的守护者,在后台默默完成一些系统性的服务,比如垃圾回收线程,JIT线程就可以理解为守护线程。与守护线程相对的是用户线程,用户线程可以认为是系统的工作线程,它会完成这个程序要完成的业务员操作。如果用户线程全部结束,则意味着这个程序无事可做。守护线程要守护的对象已经不存在了,那么整个应用程序就应该结束。因此,当一个Java应用内只有守护线程时,Java虚拟机自然退出。...原创 2020-11-29 19:03:08 · 1776 阅读 · 0 评论 -
java 多线程编程
Java 多线程编程Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。这里定义和线程相关的另一个术语 - 进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。转载 2020-11-28 21:40:08 · 126 阅读 · 0 评论 -
使用eclipse 运行代码报错:找不到或无法加载主类
1、在项目上右键-->build path---->config build path 选择本机jdk不要jre、、、、若以上不行2、选择编译的方式,在项目上右键-->properties--->选择 java compiler 按照图中制定jdk3、在maven项目中制定编译的方式 <build> <plugins> <plugin> <g...原创 2020-09-21 09:52:45 · 549 阅读 · 0 评论 -
JAVA中extends 与 implements 关键字的区别
简单说:1.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,2.JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,3.继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了 ,比如 class A extends B implementsC,D,E术语话来说:extends 继承类;implements 实现接口。类和接口是不同的:...原创 2020-09-17 07:53:46 · 349 阅读 · 0 评论 -
java 中override 的使用
@Override是伪代码,表示重写。(当然不写@Override也可以),不过写上有如下好处:1、可以当注释用,方便阅读;2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。举例:在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性。@Overridepublic vo..原创 2020-09-14 09:23:16 · 1359 阅读 · 0 评论 -
kotlin与java对比
易用性。 在语法糖的加持下,kotlin能够用更短的代码实现更多的功能。这是java 无法比拟的。所谓代码量越少,出bug的可能性就越低。 kotlin特有的扩展属性,不再需要java工具类,对开发更加友好。 比如我们想实现字符串判空操作,在java中需要写一个StringUtil类,这样其他开发同学想实现该功能的时候,可能并不知道已经有人实现了该功能,存在重复造轮子的可能。通过扩展属性,我们可以很方便的看出String类都存在哪些方法。 java中的bean类总是需要使用插件生成setter..原创 2020-09-11 14:19:40 · 1137 阅读 · 0 评论 -
Java 获取字符串指定下标位置的值 charAt()
Java手册charAtpublic char charAt(intindex)返回指定索引处的char值。索引范围为从0到length() - 1。序列的第一个char值位于索引0处,第二个位于索引1处,依此类推,这类似于数组索引。如果索引指定的char值是代理项,则返回代理项值。指定者:接口CharSequence中的charAt参数:index-char值的索引。返回:此字符串指定索引处的char值。第一...原创 2020-06-07 18:53:19 · 6002 阅读 · 0 评论 -
java 中的抽象关键字 abstract
一、抽象(abstract)的使用 当父类的某些方法不确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]。 我们都知道,父类是将子类所共同拥有的属性和方法进行抽取,这些属性和方法中,有的是已经明确实现了的,有的还无法确定,那么我们就可以将其定义成抽象,在后日子类进行重用,进行具体化。这样,抽象类也就诞生了。 例如,定义了“动物”父类,其中“动物名称”和“动物年龄”属性已经明确了,但是“动物叫”的方法没有明确,此时就可以将“动物叫”定义为抽象原创 2020-06-07 18:34:23 · 689 阅读 · 0 评论 -
java中super的三种用法
java中super的用法super只在子类中出现super有三种用法【1】 super.xxx;xxx可以是类的属性。例如super.name;即从子类中获取父类name属性的值【2】 super.xxx();xxx()可以是类中的方法名。super.xxx();的意义是直接访问父类中的xxx()方法并调用【3】 super();此方法意义是直接调用父类的构造函数。super(无参/有参)即调用父类中的某个构造方法,括号里的内容根据你所调用的某个构造函数的变化而改变...原创 2020-06-07 08:45:50 · 2268 阅读 · 1 评论 -
java 中 接口与抽象类的区别
1.抽象类要被子类继承,接口要被类实现。2.接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。3.接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。4.接口是设计的结果,抽象类是重构的结果。5.抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高。6.抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量。7.抽象类主要用来抽象...原创 2020-05-07 10:17:24 · 135 阅读 · 1 评论 -
Java数据结构和算法(七)——链表
1、链表(Linked List)链表通常由一连串节点组成,每个节点包含任意的实例数据(data fields)和一或两个用来指向上一个/或下一个节点的位置的链接("links") 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。 使用链表结构可以克服数组链表需要预先知...转载 2020-04-25 20:49:14 · 120 阅读 · 0 评论 -
Java数据结构和算法(六)——前缀、中缀、后缀表达式
1、人如何解析算术表达式 如何解析算术表达式?或者换种说法,遇到某个算术表达式,我们是如何计算的: ①、求值 3+4-5 这个表达式,我们在看到3+4后都不能直接计算3+4的值,知道看到4后面的 - 号,因为减号的优先级和前面的加号一样,所以可以计算3+4的值了,如果4后面是 * 或者 /,那么就要在乘除过后才能做加法操作,比如: ②、求值 3+4*5 ...转载 2020-04-25 20:48:19 · 246 阅读 · 0 评论 -
Java数据结构和算法(五)——队列
1、队列的基本概念 队列(queue)是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允...转载 2020-04-25 20:35:57 · 121 阅读 · 0 评论 -
Java数据结构和算法(四)——栈
1、栈的基本概念 栈(英语:stack)又称为堆栈或堆叠,栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。 栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和...转载 2020-04-25 20:32:43 · 158 阅读 · 0 评论 -
Java数据结构和算法(三)——冒泡、选择、插入排序算法
1、冒泡排序 这个名词的由来很好理解,一般河水中的冒泡,水底刚冒出来的时候是比较小的,随着慢慢向水面浮起会逐渐增大,这物理规律我不作过多解释,大家只需要了解即可。 冒泡算法的运作规律如下: ①、比较相邻的元素。如果第一个比第二个大,就交换他们两个。 ②、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数(也就是第一波冒泡完成)。...转载 2020-04-25 20:21:08 · 121 阅读 · 0 评论 -
Java数据结构和算法(二)——数组
1、Java数组介绍 在Java中,数组是用来存放同一种数据类型的集合,注意只能存放同一种数据类型(Object类型数组除外)。 ①、数组的声明 第一种方式: 1 数据类型 [] 数组名称 =new数据类型[数组长度]; 这里 [] 可以放在数组名称的前面,也可以放在数组名称的后面,我们推荐放在数组名称的前面,这样看上去 数据...转载 2020-04-25 19:03:49 · 121 阅读 · 0 评论 -
Java数据结构和算法(一)——简介
1、数据结构 数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。 通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 一、数据结构的基本功能 ①、如何插入一条新的数据项 ②、如何寻找某一特定的数据项 ③、如何删除某一特定的数据项 ④、如何迭代的访问各个数据项,...转载 2020-04-25 18:52:52 · 143 阅读 · 0 评论 -
Maven 框架的作用
先不说编程,先说一个烧菜的例子:我要做一盘红烧排骨,我需要下列材料:(瞎写的,别计较)小排500克。 酱油20克 盐5克。 糖20克。 茴香5克。 姜,一个。那么,我就要先去菜市场买小排,去超市买酱油,去南北货店买茴香。而且我还要自己去记。麻烦吗?这个时候,有个超市,卖一个红烧排骨的一个包,把这些材料打包好,放在橱柜里卖。你要做的就是:去超市 买这个红烧排骨包,里面包...转载 2020-03-05 10:47:44 · 591 阅读 · 0 评论 -
java 网络爬虫项目(10)
5个线程 爬取2万条 数据 需要40分钟10个线程 爬取时间为20分钟数据可视化:可以通过java中的绘制图表 进行排序展示,也可以对控件进行操作等来实现 ,可以通过sql 语句进行查询、排序、展示 等操作项目的源代码已上传的博客资源中截图展示如下: (比如我要查看周榜排第三位的博主评论数最多的一篇博客)按照阅读量排序后的结果为:...原创 2020-03-22 10:02:31 · 206 阅读 · 0 评论 -
java 网络爬虫项目(9)
使用多线程处理爬虫作业加快速度线程池package work.spider.start;import java.io.IOException;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.concurrent.ExecutorSer...原创 2020-03-21 23:27:06 · 136 阅读 · 0 评论 -
java爬虫项目遇到的困难
1.页面动态加载问题2.爬取数据缓慢问题3.标题中有影响sql语句问题4.标签xpath路径浏览器提供不精确问题原创 2020-03-21 21:38:00 · 307 阅读 · 0 评论 -
java 使用多线程编程 的优点和缺点
尽管面临很多挑战,多线程有一些优点使得它一直被使用。这些优点是: ● 资源利用率更好 ● 程序设计在某些情况下更简单 ● 程序响应更快 资源利用率更好 想象一下,一个应用程序需要从本地文件系统中读取和处理文件的情景。比方说,从磁盘读取一个文件需要5秒,处理一个文件需要2秒。处理两个文件则需要:5秒读取文件A2秒处理文件A5秒读取文件B2秒处理文件B----------...原创 2020-03-21 20:59:02 · 950 阅读 · 0 评论 -
Java中 List 的用法
package basic;import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;import java.util.List;import java.util.stream.Collectors;//List使用方法public class ListDemo { pub...原创 2020-03-20 22:33:25 · 212 阅读 · 0 评论 -
fastjson解析嵌套json数据
json数据如下{ "code": 200, "message": "ok", "data": { "total": 100, "page": 2, "size": 10, "list": [ { "is_up": 0, ...原创 2020-03-20 22:30:06 · 1803 阅读 · 0 评论 -
java 网络爬虫项目(8)
解析具体模块列表页并优化解析实现类类如csdn主页的边栏 5g 模块给page.类添加url列表 属性//存储模块url(包含列表页url和详情页url) private List<String> urlList= new ArrayList<String>();连接数据库模块 并提供对数据库的各种操作接口package work.sp...原创 2020-03-20 16:11:45 · 284 阅读 · 2 评论 -
使用JDBC连接数据库出现The server time zone value '�й���ʱ��' is解决方案
将jdbc.properties中url后加入?serverTimezone=UTC即可解决**// 原驱动driverClass=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/stus//更改为driverClass=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://loc...原创 2020-03-20 09:40:08 · 2949 阅读 · 1 评论 -
eclipse 中使用maven框架在pom文件中添加依赖之后 jar包没有更新
在pom配置文件中添加从中央库复制下来的<dependency>发现图上的Maven Dependencies库并没有自动下载更新然后 依次输入groupId 三个就完成更新了原创 2020-03-19 15:17:48 · 2090 阅读 · 1 评论 -
使用浏览器定位元素的XPATH失败解决办法
使用浏览器查看html文档 直接 copy xpath 时获取的xpath 定位不到内容,这时候可以自行查看网页html中的标签。Xpath分为绝对路径和相对路径,绝对路径是这样 \html\body.....相对路径直接定位到相应内容的标签推荐使用相对路径当发现定位不到信息时可以查看内容所在的标签有没有 class 、title、id等信息然后可以自己写Xpath路径 这样//*...原创 2020-03-18 20:19:37 · 2622 阅读 · 0 评论 -
java 关键字 final的使用
前言针对Java语言中的final关键字,想必都不陌生了。本来主要是来对final做关键字做一个总结。final关键字用法修饰类当用final去修饰一个类的时候,表示这个类不能被继承。注意:a. 被final修饰的类,final类中的成员变量可以根据自己的实际需要设计为fianl。b. final类中的成员方法都会被隐式的指定为final方法。说明:在自己设计一个类的时候,要想好这个类将来是否会被...原创 2020-03-18 17:44:17 · 121 阅读 · 0 评论 -
Mysql 下载安装
一、下载地址:https://dev.mysql.com/downloads/mysql/当前最新是8.0版本,我选择上一个最新的mysql-5.7.24-winx64.zip二、安装MySQL安装文件分两种 .msi和.zip ,.msi需要安装zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行环境变量配置zip格式是自己解压我的电脑->属性-...转载 2020-03-18 10:14:32 · 275 阅读 · 0 评论 -
在Windows中安装Hadoop(非虚拟机安装)
在Windo...转载 2020-03-16 17:12:54 · 1027 阅读 · 1 评论 -
java 网络爬虫项目(7)
使用Hbase存储爬虫数据hbase表设计方案: RowKey (source+blog/paper id) 列簇 allnumber daynumber commentNuber publishtim...原创 2020-03-17 19:39:43 · 229 阅读 · 0 评论 -
Hadoop是什么,能干什么,怎么使用
本文档实现目标希望用比较容易理解的语言解释Hadoop是个什么样的工具,回答Hadoop是什么,能干什么,怎么使用三个问题,尽量不涉及技术细节。1、Hadoop是什么1.1、小故事版本的解释小明接到一个任务:计算一个100M的文本文件中的单词的个数,这个文本文件有若干行,每行有若干个单词,每行的单词与...转载 2020-03-15 10:37:43 · 352 阅读 · 0 评论 -
java 网络爬虫项目(6)
实现数据存储流程搭好存储数据的框架定义接口类 IStoreService .javapackage work.spider.service;import work.spider.entity.Page;/* * * 数据存储接口 * @auther lwr * created by 2020-03-15 * */public interface IStore...原创 2020-03-15 10:02:12 · 130 阅读 · 0 评论 -
java 网络爬虫项目(5)
实现功能:优化解析代码xpath路径常常需要改变时可以通过两种方法减少工作:一是通过使用配置文件,将xpath路径都保存在配置文件中二是将路径保存在数据库中使用将很多重复的代码写成不同的方法放到工具包中减少代码的重复性。CSDNProcessService.javapackage work.spider.service.impl;import java....原创 2020-03-15 08:56:48 · 210 阅读 · 0 评论 -
java 读取properties文件的几种方式
Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中。然而 XML 配置文件需要通过 DOM 或 SAX 方式解析,而读取 properties 配置文件就比较容易。介绍几种读取方式:1、基于ClassLoder读取配置文件注意:该方式只能读取类路径下的配置文件,有局限但是如果配置文件在类路径下比较方便。Propertie...原创 2020-03-14 20:06:02 · 243 阅读 · 0 评论 -
eclipse 2019-12版本编辑和设置 properties文件
创建了一个properties后缀的配置文件之后发现是这个样子的然而别人的确实这种带表格的,非常方便添加key 和value ......解决方法:eclipse-> help ->install software1) 在 work with 中输入URL:http://propedit.sourceforge.jp/eclipse/upda...原创 2020-03-14 19:44:08 · 954 阅读 · 0 评论 -
eclipse 整段缩进
Tab使选中的代码向右Shift +Tab使选中的代码向左原创 2020-03-14 18:06:05 · 286 阅读 · 0 评论 -
java 正则表达式 Pattern的标志flags 用法
1、Pattern.MULTILINE模式的用法正则表达式中出现了^或者$, 默认只会匹配第一行. 设置了Pattern.MULTILINE模式,会匹配所有行。例如,Pattern p1 = Pattern.compile("^.*b.*$");//输出false,因为正则表达式中出现了^或$,默认只会匹配第一行,第二行的b匹配不到。System.out.println(p1.mat...原创 2020-03-14 16:03:25 · 2143 阅读 · 0 评论 -
警告 Invalid cookie header: "Set-Cookie:
1.根据网上的办法设置cookieif (httpGet.getFirstHeader(“Set-Cookie”) != null) {String cookie = httpGet.getFirstHeader(“Set-Cookie”).getValue();httpGet.addHeader(“cookie”, cookie);}并没有什么用2.再三查找,可能是默认的http...转载 2020-03-14 15:38:20 · 4515 阅读 · 1 评论