- 博客(232)
- 资源 (63)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Stream filter()过滤有效数据
filter()是一个中间操作,可以与 reduce()、collect()、map() 等一起使用。filter一般适用于list集合,主要作用就是模拟sql查询,从集合中查询想要的数据。java官方文档语法如下。filter(Predicate predicate)它返回Stream的实例,该实例在处理Predicate后包含过滤后的数据。它被用作中间操作。filter()可用于许多不同的场景。如果我们想根据任何条件筛选list, array 或map,我们可以使用 lambda 表达式和
2021-09-18 09:48:21
84488
2
原创 面向对象基础
性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,能是最重要的因素。没有面向对象易维护、易复用、易扩展所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出 的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。
2023-12-14 22:00:17
1053
原创 Java数据类型相关
显示转换就是类型强转,把一个大类型的数据强制赋值给小类型的数据;隐式转换就是大范围的变量能够接受小范围的数据;隐式转换和显式转换其实就是自动类型转换和强制类型转换。
2023-12-14 21:08:53
996
原创 Java8——Lambda 表达式
通过上面的例子可以看出Lambda语法只保留实际用到的代码,把无用代码全部省略。那它对接口有没有要求呢?我们发现这些匿名内部类只重写了接口的一个方法,当然也只有一个方法须要重写。这就是我们上文提到的函数式接口,也就是说只要方法的参数是函数式接口都可以用 Lambda 表达式。
2023-12-13 16:16:55
1168
原创 Java8——函数式接口
在 Runnable 接口中只声明了一个方法 void run(),我们使用匿名内部类来实例化函数式接口的对象,有了 Lambda 表达式,这一方式可以得到简化。但是在实践中,函数接口是非常脆弱的,只要有人在接口里添加多一个方法,那么这个接口就不是函数接口了,就会导致编译失败。在其他包中也有函数式接口,其中一些没有@FunctionalInterface 注解,但是只要符合函数式接口的定义就是函数式接口,与是否有@FunctionalInterface注解无关,注解只是在编译时起到强制规范定义的作用。
2023-12-13 11:38:20
466
原创 Java8——接口的默认方法和静态方法
开始我们也提到,interface 新增default和static修饰的方法,为了解决接口的修改与现有的实现不兼容的问题,并不是为了要替代abstract class。JVM平台的接口的默认方法实现是很高效的,并且方法调用的字节码指令支持默认方法。作为替代方式,接口可以提供一个默认的方法实现,所有这个接口的实现类都会通过继承得到这个方法(如果有需要也可以重写这个方法)默认方法允许我们在接口里添加新的方法,而不会破坏实现这个接口的已有类的兼容性,也就是说不会强迫实现接口的类实现默认方法。
2023-12-13 11:03:41
1460
原创 I/O流相关
它支持面向缓冲的,基于通道的I/O操作方法。同步I/O和异步I/O的区别就在于第二个步骤是否阻塞,如果实际的I/O读写阻塞请求进程,那么就是同步I/O,因此阻塞I/O、非阻塞I/O、I/O复用、信号驱动I/O都是同步I/O,如果不阻塞,而是操作系统帮你做完I/O操作再将结果返回给你,那么就是异步I/O。按照《Unix网络编程》的划分,I/O模型可以分为:阻塞I/O模型、非阻塞I/O模型、I/O复用模型、信号驱动式I/O模型和异步I/O模型,按照POSIX标准来划分只分为两类:同步I/O和异步I/O。
2023-12-12 17:57:32
877
原创 Java基础语法面试题
显示转换就是类型强转,把一个大类型的数据强制赋值给小类型的数据;隐式转换就是大范围的变量能够接受小范围的数据;隐式转换和显式转换其实就是自动类型转换和强制类型转换。Char类型能不能转成int类型?能不能转化成string类型,能不能转成double类型Char在java中也是比较特殊的类型,它的int值从1开始,一共有2的16次方个数据;Char。
2023-12-11 16:29:11
789
原创 变量与方法面试题
Java程序在执行子类的构造方法之前,如果没有用super()来调用父类特定的构 造方法,则会调用父类中“没有参数的构造方法”。因此,如果父类中只定义了 有参数的构造方法,而在子类的构造方法中又没有用super()来调用父类中特定 的构造方法,则编译时将发生错误,因为Java程序在父类中找不到没有参数的构 造方法可供执行。解决办法是在父类里加上一个不做事且没有参数的构造方法。由于静态方法可以不通过对象进行调用,因此在静态方法里,不能调用其他非静 态变量,也不可以访问非静态变量成员。答:都不能。
2023-12-11 14:47:17
955
原创 CSDN的Markdown语法初体验
第一次使用 Markdown编辑器 。先简单试试,体验下语法,以后再做修改我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + Shift + H无序列表:Ctrl/Command + Shift + U有序列表:Ctrl/C
2023-12-11 11:10:15
786
原创 Java基础概念与常识
字节码:Java源代码经过虚拟机编译器编译后产生的文件(即扩展为.class的文件),它不面向任何特定的处理器,只面向虚拟机。采用字节码的好处:Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以Java程序运行时比较高效, 而且,由于字节码并不专对一种特定的机器,因此,Java程序无须重新编译便可 在多种不同的计算机上运行。
2023-12-11 10:26:54
907
原创 Java面试题目录
最近在研究Java面试题,搜集了一些资料,然后进行了一下整理,算是集百家之所长,提供给大家,希望能够帮助需要的小伙伴,这篇文章就把我所有的文章目录列一下,方便大家查看。
2023-12-11 09:48:43
361
原创 使用IBM JDK时,IntelliJ无法解析符号“String”
之所以写这篇文章,是因为我遇到了这个问题,在网上也查到了类似的解决方案,但因为说明不够清晰,因此还是没能解决我的问题,因此我把详细的解决方法写下,给有需要的同行借鉴。但这句话还是让我有点糊涂,可能很多人和我一样,也会不知道如何解决。文件添加到IntelliJ IDEA中的SDK类路径选项卡。,奇怪的是,所有其他JDK类都被检测到,但在整个代码中。这是IBM JDK特有的已知问题。我的IntelliJ版本是。
2023-05-11 14:35:10
1379
1
原创 关于Java8新特性Stream的一些思考
虽然学了很多Stream的用法,但有时候发现,凡事都有两面性,也不是所有的情况都适用,下面看几个例子示例1BusistatusInfo[] saveInfos = infoVO.getSaveInfos();String[] ids = new String[saveInfos.length];for (int i = 0; i < saveInfos.length; i++) { ids[i] = saveInfos[i].getId();}要做的事就是将一个对象数组中的某
2021-09-13 16:21:07
260
原创 Stream map()转化成新的类型流
它返回一个由给定函数处理的 Stream 实例。map()返回对象流,为了得到IntStream、LongStream、DoubleStream等原始数据类型的流,Java8 stream分别提供了mapToInt()、mapToLong()和mapToDouble()方法。map()函数Stream.map ()方法如下。map(Function mapper)我们需要将 Function 实例作为 lambda 表达式传递。此方法返回具有给定函数处理结果的 Stream 实例。这是一..
2021-09-04 18:03:04
5649
原创 Stream skip()跳过前N个子元素
skip()方法跳过流的第一个给定的一些元素后,skip方法返回由该流的其余元素组成的流。Java文档中skip方法声明Stream<T> skip(long n)参数:传递要跳过的前导元素的数量。返回:方法返回一个新的跳过元素的流。抛出:如果我们传入负数,它抛出IllegalArgumentException.1.skip方法用于从一开始跳过给定数量元素的源流创建新流。2.skip方法对于有序的并行管道来说代价高昂,特别是对于大数量的n....
2021-09-04 17:33:15
1042
原创 Stream将Java流转化成数组
Java流转换为数组最好的方法是使用Stream.toArray (IntFunction)方法。我们将通过以下方式将Java流(Stream)转换为数组(Array)。1.我们将使用Stream.toArray (IntFunction)返回所需类型的数组。2.使用Stream.toArray (IntFunction)方法返回Object[],然后将其更改为所需的数据类型。3.对于整数流,我们可以使用IntStream.toArray()将返回int[]。我们可以用同...
2021-09-04 17:17:42
12045
原创 Stream forEachOrdered() vs forEach()
forEachOrdered ()和forEach ()方法的区别是,forEachOrdered ()总是会按照元素给定的顺序执行操作,而forEach ()方法是不确定的。 在并行流中,forEach ()方法未必顺序执行,而forEachOrdered ()永远顺序执行。 在顺序流中,两种方法相同。 所以想要动作在每个情况下都有序执行,我们应该使用forEachOrdered ()方法。Stream.forEach ()java文档中forEach方法声明。vo...
2021-09-04 17:04:56
441
原创 Stream.of()用法示例
Stream.of用于为给定元素创建顺序流。我们可以传递单个元素或多个元素。查看java文档中的Stream.of方法声明。static Stream of(T t)参数:传递单个元素。返回值:该方法返回一个包含一个元素的流。static <T> Stream<T> of(T... values)参数:传递多个元素。返回值:该方法返回包含给定元素的流。Stream.of创建有限元素流。为了创建一个无限元素流,我们可以使用Stream.gen
2021-09-04 16:53:20
16894
原创 Java8 Stream介绍
说到Stream便容易想到I/O Stream,而实际上,谁规定“流”就一定是“IO流”呢?在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。传统集合的多步遍历代码几乎所有的集合(如 Collection 接口或 Map 接口等)都支持直接或间接的遍历操作。而当我们需要对集合中的元素进行操作的时候,除了必需的添加、删除、获取外,最典型的就是集合遍历。例如:publicclassDemo01ForEach{...
2021-09-04 16:40:49
137
原创 React生命周期函数
相关函数 方法 调用时机 constructor(props, context) 构造函数,在创建组件的时候调用一次。 void componentWillMount() 在组件挂载之前调用一次。如果在这个函数里面调用setState,本次的render函数可以看到更新后的state,并且只渲染一次。 void componentDidMount()
2021-04-11 17:01:23
266
原创 Could not find a version that satisfies the requtrement pandas
命令行输入pip提示不是内部或外部命令安装python pandas库遇到的一些问题,其实应该是两个问题,首先是使用pip的问题,一开始我安装好python后,配置好环境变量,本来以为可以开始愉快的使用了,结果命令行敲入pip,结果提示我‘pip’不是内部或外部命令。。。按理说pip已经是python自带的工具了,难道没给我安装?好吧,手动重新安装一次,又捣鼓一次,再次输入pip,!!!!!!!fuck,还是提示我‘pip’不是内部或外部命令。。。看来不是pip安装的问题,问下度娘,好吧,现在在
2021-04-09 11:16:13
1655
原创 Docker Hello World
Docker 允许你在容器内运行应用程序, 使用docker run命令来在容器内运行一个应用程序。输出Hello world$ docker run ubuntu:15.10 /bin/echo "Hello world"Hello world各个参数解析:docker:Docker 的二进制执行文件。 run:与前面的 docker 组合来运行一个容器。 ubuntu:15.10指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker ...
2021-01-29 15:44:49
254
原创 Windows Docker 安装
win7、win8 系统win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/安装比较简单,双击运行,点下一步即可,可以勾选自己需要的组件:docker toolbox 是一个工具集,它主要包含以下一些内容:Docker CLI - 客户端,用来运行 docker 引擎创建镜像和容器。 Docke.
2021-01-29 10:59:00
501
原创 Docker初识
Docker开源项目背景Docker是基于Go语言实现的开源容器项目。Docker项目已加入Linux基金会并遵循Apache2.0协议,现在主流的操作系统包括Linux各大发行版、macOS, Windows等都已经支持Docker。例如Redhat RHEL 6.5/CentOS6.5、Ubuntu16.04以及更新的版本,都已经在官方软件源默认带有Docker软件包。Docker的构想是要实现“Build,Ship and Run Any App, Any where”,即通过对应用的封装(P
2021-01-28 17:19:14
134
原创 go-kit微服务:日志功能
本质上讲,go-kit中间件采用了装饰者模式,传入Endpoint对象,封装部分业务逻辑,然后返回Endpoint对象。我们通过给service层添加日志功能来说明一下Step-1:创建Middleware新建middleware.go文件,加入如下代码:import ( "github.com/go-kit/kit/log")const ContextReqUUid = "req_uuid"type ServiceMiddleware func(Service) Serv
2020-12-29 20:51:20
1352
原创 windows下golang使用protobuf
windows 下安装protoc与protoc-gen-goProtobuf(Protocol Buffer)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。(也就是说,当服务器端使用go实现,注册了api;那么客户端是python实现,通过Protobuf也可以实现远程访问)1、protoc
2020-12-09 11:08:25
1782
原创 Ubuntu Docker 安装
Ubuntu环境下安装卸载旧版本Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们:$ sudo apt-get remove docker docker-engine docker.io containerd runc当前称为 Docker Engine-Community 软件包 docker-ce 。安装 Docker Engine-Community,以下介绍两种方式。1.系统要求Ubuntu操作系统
2020-10-21 15:22:49
177
原创 CentOS Docker 安装
系统要求Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如overlay2存储层驱动)无法使用,并且部分功能可能不太稳定。通过uname -r命令查看你当前的内核版本$ uname -r使用 yum 安装(CentOS 7下)从2017年3月开始, docker在原来的基础上分为两个分支版本: Docker CE和Docker EE。Docker CE 即社区...
2020-10-21 15:16:10
216
原创 Docker核心概念
Docker部分的操作都围绕着它的三大核心概念:镜像、容器和仓库。因此,准确把握三大核心概念对于掌握Docker技术尤为重要。1. Docker镜像Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。例如,一个镜像可以包含一个基本的操作系统环境,里面仅安装了Apache应用程序(或用户需要的其他软件)。可以把它称为一个Apache镜像。镜像是创建Docker容器的基础。通过版本管理和增量的文件系统,Docker提供了一套十分简单的机制来创建和更新现有的镜像,用户甚至可以从网上下载
2020-10-21 14:45:34
626
原创 Docker初识
Docker开源项目背景Docker是基于Go语言实现的开源容器项目。Docker项目已加入Linux基金会并遵循Apache2.0协议,现在主流的操作系统包括Linux各大发行版、macOS, Windows等都已经支持Docker。例如Redhat RHEL 6.5/CentOS6.5、Ubuntu16.04以及更新的版本,都已经在官方软件源默认带有Docker软件包。Docker的构想是要实现“Build,Ship and Run Any App, Any where”,即通过对应用的封装(P
2020-10-21 14:41:28
78
原创 golang中的interface{}转其他类型
在go语言中,如果值类型是interface{}类型的话,直接赋值是无法转化的,可以通过如下方式实现:value.(type)例如://interface 转stringvar a interface{}var str stringa = "3432423"str = a.(string)fmt.Println(str) //interface 转intvar m interface{}var m1 intm = 43m1 = m.(int)fmt.Println(m1
2020-08-22 13:42:36
1229
原创 go数据类型转换
简单的转换操作在必要以及可行的情况下,一个类型的值可以被转换成另一种类型的值。由于Go语言不存在隐式类型转换,因此所有的类型转换都必须显式的声明:valueOfTypeB = typeB(valueOfTypeA)类型转换只能在定义正确的情况下转换成功,例如从一个取值范围较小的类型转换到一个取值范围较大的类型(将 int16 转换为 int32)。当从一个取值范围较大的类型转换到取值范围较小的类型时(将 int32 转换为 int16 或将 float32 转换为 int),会发生精度丢失...
2020-08-22 13:17:28
556
原创 go数值进制转换
要实现进制转换,go语言为我们提供了很简单的接口供我们调用,如下:func main() { var v int64 = 12 //默认10进制 s2 := strconv.FormatInt(v, 2) //10 转2进制 fmt.Printf("%v\n", s2) s8 := strconv.FormatInt(v, 8) fmt.Printf("%v\n", s8) s10 := strconv.FormatInt(v, 10)
2020-08-20 20:13:41
7091
翻译 Go语言字符串
一个字符串是一个不可改变的字节序列,字符串可以包含任意的数据,但是通常是用来包含可读的文本,字符串是 UTF-8 字符的一个序列(当字符为 ASCII 码表上的字符时则占用 1 个字节,其它字符根据需要占用 2-4 个字节)。UTF-8 是一种被广泛使用的编码格式,是文本文件的标准编码,其中包括 XML 和 JSON 在内也都使用该编码。由于该编码对占用字节长度的不定性,在Go语言中字符串也可能根据需要占用 1 至 4 个字节,这与其它编程语言如C++、Java或者Python不同(Java 始...
2020-08-20 19:28:37
238
翻译 Go语言bool类型
一个布尔类型的值只有两种:true 或 false。if 和 for 语句的条件部分都是布尔类型的值。Go语言对于值之间的比较有非常严格的限制,只有两个相同类型的值才可以进行比较,如果值的类型是接口(interface),那么它们也必须都实现了相同的接口。如果其中一个值是常量,那么另外一个值可以不是常量,但是类型必须和该常量类型相同。如果以上条件都不满足,则必须将其中一个值的类型转换为和另外一个值的类型相同之后才可以进行比较。布尔值可以和 &&(AND)和 ||(OR)操作符结合,并
2020-08-16 18:24:20
935
原创 go解析json
JSON 是一种使用 UTF-8 编码的纯文本格式,采用完全独立于语言的文本格式,由于写起来比 XML 格式方便,并且更为紧凑,同时所需的处理时间也更少,致使 JSON 格式越来越流行,特别是在通过网络连接传送数据方面。Go语言内建对 JSON 的支持,使用内置的 encoding/json 标准库,开发人员可以轻松使用Go程序生成和解析 JSON 格式的数据。生成json数据go语言中将结构体转为json的过程叫编组(marshaling)。编组通过调用json.Marshal函数...
2020-07-14 14:39:29
2847
GreenDao.zip
2016-08-30
CoordinatorLayoutDemo.zip
2016-08-22
RecyclerViewDemo1
2016-06-01
CustomViewDemo9_1
2016-05-28
FragmentDemo-10
2016-05-20
DrawableDemo3
2016-05-18
DrawableDemo2
2016-05-18
DrawableDemo1
2016-05-18
DrawableDemo
2016-05-11
CustomViewDemo7
2016-05-08
ViewGroupDemo2
2016-05-06
ViewGroupDemo1
2016-04-27
CustomThemeDemo
2016-04-21
PopupDialogActivityDemo
2016-04-21
CustomViewDemo5
2016-04-19
CustomViewDemo4
2016-04-18
FragmentDemo10
2016-04-18
FragmentDemo9.zip
2016-04-13
MailDemo.zip
2017-11-14
HibernateDemo5
2017-08-21
FlashFXP54_5.4.0.395
2017-08-21
HibernateDemo2
2017-08-15
HibernateDemo1
2017-08-15
DisruptorDemo.zip
2017-06-09
ThriftTest
2017-03-09
ThriftTest.zip
2017-03-08
GsonFormat1.1.2.jar
2017-01-09
DrawerLayoutDemo
2016-11-08
RetrofitDemo
2016-09-22
RecycleAndSwipeRefresh
2016-09-15
SwipeRefreshLayoutDemo
2016-09-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人