
Java
文章平均质量分 90
VioletCherry
这个作者很懒,什么都没留下…
展开
-
Java:这个对象还活着吗
我们知道,程序运行时会不断创建对象,对象的存储是需要消耗内存。C/C++它们每次都需要手动释放内存,但是很多人用了很久的Java可能会好奇,为什么Java不需要手动释放内存呢?究其原因就是C/C++的手动释放内存的方式一定程度上很考验开发者的水平和细心,如果哪里忘记了释放内存,可能造成灾难影响。火狐浏览器换Rust也是因为这个原因,在之前发现的大部分漏洞都是因为内存问题。Java设计者在设计之初就避免了这个问题,将内存管理交给JVM管理,开发者不需要再显式释放内存。我们把这个叫垃圾回收,顾名思义只有垃圾原创 2022-06-29 21:42:29 · 160 阅读 · 0 评论 -
日常问题随笔-RestTemplate发送Get请求通过body传参问题
问题出现今天在对接其他部门的接口时,发现对方提供了一个GET请求,但是参数却要求通过body传递json格式的数据。这可难住我了,GET请求还能通过body传递参数吗?带着疑问,先试一下吧。我们项目用的RestTemplate,我想起了RestTemplate的exchange方法有个参数HttpEntity,会不会是这里可以传参数进去呢?迅速写了代码public static String getForJson(String url, Map<String,Object> dataValu原创 2020-06-18 22:45:54 · 4713 阅读 · 0 评论 -
Docker构建学习环境(3)-部署Spark并提交WordCount任务
Spark概述Apache Spark是一个开源集群运算框架,最初是由加州大学柏克莱分校AMPLab所开发。相对于Hadoop的MapReduce会在运行完工作后将中介数据存放到磁盘中,Spark使用了存储器内运算技术,能在数据尚未写入硬盘时即在存储器内分析运算。Spark在存储器内运行程序的运算速度能做到比Hadoop MapReduce的运算速度快上100倍,即便是运行程序于硬盘时,Spar...原创 2020-05-01 17:37:12 · 1008 阅读 · 0 评论 -
Docker构建学习环境(2)-搭建Hadoop集群
认识Hadoop简单描述,Hadoop是一款实现分布式海量数据存储和离线海量数据分析的工具。官方地址。Hadoop提供的安装方式有单机模式、伪分布式模式和完全分布式模式,不知道为什么有强迫症似的,如果有分布式模式必须要安装完全分布式模式。为了部署完全分布式模式的Hadoop,我采用docker的方式部署3个容器。不得不说docker确实是一个非常适合个人学习的安装各种软件的工具,如果你是wind...原创 2020-04-30 22:17:54 · 322 阅读 · 0 评论 -
Java基础之IO(4)-Writer
概述上一篇讲得是Reader字符输入流,今天讲的是Writer字符输出流。同OutputStream类似,只是OutputStream输出的是字节,Writer输出的是字符。字节流和字符流不在这里介绍,前面已经讲得很多了。Writer的继承关系图节点流FileWriterFileWriter是字符输出流,同FileReader一样是一种以操作字符的流。这里我们要明白,虽然这里我们输出的...原创 2019-11-13 21:56:21 · 262 阅读 · 0 评论 -
Java基础之IO(3)-Reader
概述前两节学习过了字节输入流和字节输出流,大家可能会疑惑,为什么已经有了字节输入流,还需要字符输入流。其实从字面意思就可以理解,字节输入流在读取的时候是按字节的方式,而字节是一个对计算机友好,但是对人类用户不友好的方式,字符才是对人类友好的传递信息的方式。字符流对处理文字特别方便,而字节流在处理图像、音频、视频方面比较方便。Reader的继承结构字符流和字节流的区别字符流是用两字节表示U...原创 2019-11-11 22:21:05 · 223 阅读 · 0 评论 -
Java基础之IO(2)-OutputStream
概述上一篇讲了InputStream,和InputStream相对的,InputStream是把数据从一个源中读取出来,而OutputStream是把数据输出到一个源,这个源可以是一个文件,网络,内存,终端等。和InputStream一样,OutputStream也是字节流,前边解释过什么是字节流,这里再简单说一下,字节流就是以字节的方式操作流。举个例子:字节编码上图中上边一行就是字符,...原创 2019-11-10 20:53:25 · 269 阅读 · 0 评论 -
一个生产问题引发的Java编码思考
背景从一个问题说起,前几天在和一家公司做项目对接时,我方公司提供给对方的是返回的code码作为成功还是失败校验,对方公司因为使用了我方返回的msg作为组合校验,而返回msg出现乱码,导致对方公司作字符串匹配时失败,以为我方返回的是失败。这时,对方公司截图发给我方要求我方检查编码。我虽不才,但是我方使用的编码我还是可以保证的,我敢大声的说不是我方的问题。为此开启了一条甩锅之路(不对啊,明明不是我的...原创 2019-11-08 21:52:11 · 276 阅读 · 0 评论 -
Java基础之IO(1)-InputStream
概述之前介绍过一篇IO总览的文章,概述性的讲解了现有的一些Java IO。从这一篇开始,详细讲解Java IO的各个模块,今天首先讲一下InputStream。InputStream是一个字节输入流,什么是字节流呢?我们知道在java中有一个叫byte的基本类型,就是同一个。字节是一个8位表示的二进制。很多人会误认为输入流就是打开一个磁盘文件然后从里边读数据,但是输入流并不局限于文件,应该说I...原创 2019-11-04 19:31:25 · 262 阅读 · 0 评论 -
Java基础之IO总览
背景IO在一般业务开发中不常用到,因此也是很久没有对这部分进行一次系统性的总结,最近有时间也是总结一下。Java IO总览Java IO这里指的传统IO,NIO会放到其他文章中介绍。在分类之前先了解一些概念。流流是一种对数据传递的抽象概念。比如,我们通过输入流读取磁盘上读取数据,就像水流一样连续源源不断流向用户态内存中。但是本质并非如此,至少不像水流那样源源不断,因为用户开发的程序运行在...原创 2019-11-03 22:49:05 · 165 阅读 · 0 评论