- 博客(16)
- 收藏
- 关注
原创 Java线程池
Java线程池为什么要使用线程池?如果使用线程池,频繁的创建和销毁线程会消耗大量系统资源,如果不对线程创建请求进行限制,在并发请求数量非常多,且线程执行时间很短的系统里,可能会造成系统的资源不足;同时,执行相同的任务会重复创建线程,无法重用任务。使用线程池有什么优点?降低资源消耗,重用任务可以避免重复创建相同任务线程产生的消耗。提高系统响应,任务可以不用执行线程创建的过程便可以执行...
2019-05-21 16:48:36
169
原创 【Java并发机制】Java中的生产者-消费者模型---等待/通知机制
本文参考《Java并发编程的艺术》 何为生产者-消费者模型?生产者和消费者在同一时间段内共用同一个共享空间,生产者生产商品到共享空间,消费者则消费共享空间的商品,没有商品时消费者阻塞,没有剩余空间存放商品时生产者阻塞。当然,在没有学习Java并发机制之前我们可以这样处理://生产者while(size==full){ //空间已满 Thread.sleep(10...
2019-02-16 15:17:18
243
原创 RxJava与Retrofit的基本使用和结合使用
RxJava是什么?Rx全称为ReactiveX,它一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流。它基于设计模式中的观察者模式,通过以下的方式简化代码:函数式风格:对可观察数据流使用无副作用的输入输出函数,避免了程序里错综复杂的状态 简化代码:Rx的操作符通通常可以将复杂的难题简化为很少的几行代码 异步错误处理:传统的try/catch没办法处理异步计算,R...
2019-02-15 18:01:11
1510
1
原创 【JVM学习笔记】JVM的各个数据区域
本文内容为博主个人理解加参照《深入理解Java虚拟机》1:程序计数器“随线程而生,随线程而灭”,是属于线程私有的一块较小的内存区域,它可以被看作为字节码的行号指示器。2:Java虚拟机栈它也是属于线程私有的内存区域。每个方法在执行时都会创建一个“栈帧”储存方法的各种信息,每一个方法从调用到返回的过程,就对应这“栈帧”在虚拟机栈入栈到出栈的过程。栈帧会储存局部变量表,操作数栈,动...
2019-02-12 15:11:32
151
原创 【JVM学习笔记】垃圾回收基础篇
今年就要去参加面试了,之前读完了《深入理解JAVA虚拟机》这本书,感觉并没有完全参透,现在重读这本书,希望能得到不一样的收获。 目录Stop-The-World介绍对象的年龄(垃圾分代)垃圾回收的常用算法1:引用计数法(Java虚拟机并没有采用这种方式)2:标记-清除法 3:标记-整理算法(也称作标记-压缩算法)4:复制算法 5.分代收集算法Java...
2019-02-11 21:36:44
330
原创 Linux基本命令及使用方法(二)
命令目录目录 curl:(从服务器传输数据或向服务器传输数据。支持大多数协议,包括HTTP,FTP和POP3。)wget:( 从Web下载文件。支持HTTP,HTTPS和FTP。)nohup:(允许终端关闭后继续执行)ssh:(Secure Shell是一种用于安全登录远程系统的协议。它可用于在远程服务器上记录或执行命令。)ps:(有关运行进程的信息。)cat:(打印...
2019-02-10 15:01:14
217
原创 Linux基本命令及使用方法(一)
命令目录目录ls:列出目录内容。tar:(存档实用程序。通常与压缩方法结合使用,例如gzip或bzip。)rm:(删除文件命令)mkdir:(创建文件夹)touch:(更改文件的修改时间和访问时间)chmod:(修改文件权限)sudo:(以超级用户或其他用户身份执行单个命令。)su:(将shell切换到另一个用户。)passwd:(更改用户密码的工具。)...
2019-02-09 16:00:30
708
原创 基于Jsoup的网络爬虫的使用以及网页分析的基本方法
至于网络爬虫是什么我在此就不再多做介绍,本篇博客主要讲解Jsoup的实现原理以及使用 如何通过对网页分析实现爬虫 通过一个实例具体演示以上介绍的方法 Jsoup是什么?官方对它的解释是:一个HTML解析器。它可以从URL、文件、字符串中提取并解析HTML,通过DOM遍历或CSS选择器查找并提取数据,也可以修改HTML各个元素的各种属性。本篇文章只介绍它的基本使用,想...
2018-10-04 15:55:29
806
原创 解决Maven导出war包时报错Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-wa
通过Maven导出war包时报错:Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project Ocr: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web...
2018-09-27 11:08:07
45169
2
原创 基于阿里云API的图像文字识别
首先你在阿里云购买一个图像识别的API(500次免费),它会给你一个Appcode,拿到这个Appcode,我们在项目中会用到它。我用的是这个:印刷文字识别-文档小说图片文字识别识别的逻辑:我们通过Java的I/O操作获取图片文件,然后将该文件转化为Base64编码,然后用它请求Api的调用地址,获取返回Json后,解析Json,把结果输出到文件,并输出到控制台很简单对不对!我...
2018-09-27 10:35:58
21414
7
原创 【Java多线程并发总结】Thread类的常用方法(join、yield等)---线程的基础操作篇
Thread类的常用方法目录 Thread类的常用方法 启动(start) 休眠(sleep)当前线程(currentThread) join设置优先级(setPriority) 让步(yield)设为后台进程(setDaemon) 中断(interrupt) 已经过时的方法(stop、suspend、destroy) 启动(start) ...
2018-09-26 19:59:00
666
原创 【Java多线程并发总结】Runnable、Callable----线程的创建篇
线程的创建线程一般有三种创建方式:实现Runnable接口、继承Thread类、实现Callable接口。我们将通过实例介绍一下这两种线程创建的方式:1、实现Runnable接口方式创建线程由这种方式创建线程是创建线程时最经常使用的方式。public class ThreadTest implements Runnable { @Override public v...
2018-09-20 22:09:00
432
原创 Java中的String、StringBuilder、StringBuffer类之间的区别与联系
Java用String、StringBuilder、StringBuffer三个类来封装对字符串的操作。String类中对字符串的保存格式为private final char value[];它被final所修饰,所以它是不可变的,从它被创建直至被销毁,它的字符序列都没有改变,我们对它的一系列操作都是通过创建新的String对象来完成的。StringBuilder、StringB...
2018-07-14 13:58:59
1102
原创 (超详细)超炫酷的ViewPager框架——MaterialViewPager使用方法详解
最近在找viewpager开源框架的时候,发现了一款十分炫酷的框架——MaterialViewPager少说废话,先贴实际效果图: 原项目地址(含Demo)https://github.com/florent37/MaterialViewPager我在这里只是介绍它的基本使用,更多关于它的自定义效果还请阅读原项目。使用方法:1、导包向你的build...
2018-07-11 09:43:08
8796
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人