目录 · 概况 · 切片(Slicing) · 映射(Mapping) · 匹配(Matching) · 查找(Finding) · 归约(Reducing) · 排序(Sorting) · 数值流(Numeric streams) · 原始类型流(Primitive stream) · 数值范围(Numeric ranges) · 构建流 · 由值创建流 · 由数组创建流 · 由文件生成流 · 由函数生成流(创建无限流) · collect()高级用法 · 分组(Grouping) · 分区(…
目录 · 默认方法和静态方法 · 初步理解 · 应用模式 · 优先级问题 · Optional · CompletableFuture · 基本用法 · CompletableFuture与Stream API · 新日期和时间API · 旧API · 创建 · 操作 · 格式化与解析 · 时区 默认方法和静态方法 初步理解 1. 面临问题:Java 8以前,当已设计的接口被其他框架.库使用后,如果向接口添加新方法,将导致这些框架和库无法编译. 2. 解决方法:Java 8可在接口中使用静态方法…
目录 · 改写设计模式 · 策略模式(Strategy Pattern) · 模板方法模式(Template Method Pattern) · 观察者模式(Observer Pattern) · 责任链模式(Chain of Responsibility Pattern) · 简单工厂模式(Simple Factory Pattern) · 高阶函数与柯里化 改写设计模式 策略模式(Strategy Pattern) 1. 改写前 a) ValidationStrategy.java publ…
目录 · 行为参数化 · Lambda表达式 · 概况 · 函数式接口 · 类型推断 · 使用外层变量 · 方法引用 · 复合Lambda表达式 行为参数化 1. 理解函数式编程要先理解行为参数化. 2. 行为参数化:一个方法接受多个不同的行为作为参数,并在内部使用它们,完成不同行为的能力. 3. 行为参数化优点:可让代码更好地适应不断变化的需求,减轻未来的工作量. 4. 实现方式 a) Java 8以前:通过接口实现类或接口匿名类实现. b) Java 8及以后:通过Lambda表达式实现.…
本文原题“<NIO 入门>,作者为“Gregory M. Travis”,他是<JDK 1.4 Tutorial>等书籍的作者. 1.引言 Java NIO是Java 1.4版加入的新特性,虽然Java技术日新月异,但历经10年,NIO依然为Java技术领域里最为重要的基础技术栈,而且依据现实的应用趋势,在可以预见的未来,它仍将继续在Java技术领域占据重要位置. 网上有关Java NIO的技术文章,虽然写的也不错,但通常是看完一篇马上懵逼.接着再看!然后,会更懵逼... 哈哈哈!…
以下会重新整理所有 Java 系列面试题答案.及各大互联网公司的面试经验,会从以下几个方面汇总,本文会长期更新. Java 面试篇 史上最全 Java 面试题,带全部答案 史上最全 69 道 Spring 面试题和答案 史上最全 Java 多线程面试题及答案 史上最全 50 道 Redis 面试题及答案 史上最全 55 道 MySQL 面试题总结 i++ 是线程安全的吗? 高级 Java 面试通关知识点整理 出场率比较高的一道多线程安全面试题 30 个 Java 集合面试问题及答案 Java 中…
在项目产品开发中,开发环境搭建是软件开发的首要阶段,也是必须阶段,只有开发环境搭建好了,方可进行开发,良好的开发环境搭建,为后续的开发工作带来极大便利. 对于大公司来说,软件开发环境搭建工作一般是由运维来做,然而,对于小公司来说,这个工作就交给开发人员来做了,如开发经理.不管这个工作是交给运维人员做,还是 交给开发人员做,能确定的是:做这件事的人,一定是个资深的人,如此,方可让开发环境稳定运行,从而为后续的开发提供便利. 现实中,只有极少部分开发人员接触服务器(能接触的人,基本都是开发组长及其以…
天气预报的程序.程序并不难. 看到这个需求第一个想法就是只要找到合适天气预报接口一切都是小意思,说干就干,立马跟学生沟通价格. ​ ​不过谈报价的过程中,差点没让我一口老血喷键盘上,话说我们程序猿的人工什么时候这么低廉了...oh my god ​ ​50十块,你跟我开什么国际玩笑!!不够意外惊喜还是有的,居然是个妹子嘿嘿,哎呀什么钱不钱的多伤感情. 老哥送你一套代码,小妹妹以后你好好学习,不懂得问老哥,然后顺利的家了微信(妹子很漂亮). ​ 废话不多说开干,这个程序最大的难点就是找一个合适的天…
它提供了一个近乎最佳的命中率.从性能上秒杀其他一堆进程内缓存框架,Spring5更是为了它放弃了使用多年的GuavaCache 缓存,在我们的日常开发中用的非常多,是我们应对各种性能问题支持高并发的一大利器.我们熟知的缓存有堆缓存(Ehcache3.x.Guava Cache等).堆外缓存(Ehcache3.x.MapDB等).分布式缓存(Redis. memcached等)等等.今天要上场的主角是Caffeine,它其实是Google基于Java8对GuavaCache的重写升级版本,支持丰富…
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 + 涨薪必备 疯狂创客圈 经典图书 : <SpringCloud.Nginx高并发核心编程> 面试必备 + 大厂必备 + 涨薪必备 资源宝库: 必备 Java 网盘资源大集合 价值>1000元 随便取 GO->[博客园总入口 ] 独孤九剑:本地虚拟机 100W连接 高并发实验,瞬间提升…
上一篇文章见 万字长文爆肝路由协议! 上面我们聊 RIP .OSPF 协议都是基于 AS 即自治系统内的协议,可以把它们认为是域内路由协议:而下面我们要聊的就是 AS 之间的协议了,这也叫做域间路由协议,或者叫做外部网关协议,其最著名的一个协议就是 BGP协议,目前使用最多的协议版本就是 BGP 的第四个版本 BGP - 4,简称为 BGP ( Border Gateway Protocol ). 在 RIP 和 OSPF 这些协议中,是由 IP 的网络地址进行路由控制,而 BGP 协议则需要通…
文章很长而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三部曲 > 面试必备 + 大厂必备 + 涨薪必备 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 +涨薪必备 免费领 疯狂创客圈 经典图书 : <SpringCloud.Nginx高并发核心编程> 面试必备 + 大厂必备…
原文:Webbrowser控件史上最强技巧全集 Webbrowser控件史上最强技巧全集 VB调用webbrowser技巧集 1.获得浏览器信息: Private Sub Command1_Click() WebBrowser1.Navigate "http://www.applevb.com" End Sub Private Sub Command2_Click() Dim oWindow Dim oNav Set oWindow = WebBrowser1.Document.par…
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}…
史上最强maven配置详情 优点 对第三方依赖库进行了统一的版本管理 统一了构建过程 统一了项目的目录结构 构建 清理 : mvn clear 编译 : mvn compile 测试 : mvn test 打包 : mvn package 部署 : mvn deploy 安装(将jar安装到本地仓库): mvn install 约定优于配置 Maven 规定了项目的源代码,测试代码,资源文件,编译包输出文件,字节码文件等文件的目录,统一了项目的目录结构 源代码目录 : /src/main/jav…
本文所有内容均节选自<设计模式就该这样学> 序言 Design Patterns: Elements of Reusable Object-Oriented Software(以下简称<设计模式>),一书由Erich Gamma.Richard Helm.Ralph Johnson和John Vlissides合著(Addison-Wesley,1995).这四位作者常被称为"四人组(Gang of Four)",而这本书也就被称为"四人组(或 GoF…
下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长 1.面向对象的特征有哪些方面? 抽象:将同类对象的共同特征提取出来构造类. 继承:基于基类创建新类. 封装:将数据隐藏起来,对数据的访问只能通过特定接口. 多态性:不同子类型对象对相同消息作出不同响应. 2.访问修饰符public,private,protected,以及不写(默认)时的区别? ​ protected 当前类,同包,异包子类. 3.String 是…
2013年年底的时候,我看到了网上流传的一个叫做<Java面试题大全>的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的<Java面试大全>进行了全面的修订并重新发布在我的CSDN博客.在修订的过程中,参照了当时JDK最新版本(Java 7)给出了题目的答案和相关代码,去掉了EJB 2.x.JSF等无用内容或过时内容,补充了数据结构和算法.大型网站技术架构.设计模式.UML.Spring MVC等内容并对…
基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-safe 机制有什么区别 get 和 post请求的区别 Interface 与 abstract 类的区别 IOC的优点是什么 IO 和 NIO的区别,NIO优点 Java 8 / Java 7 为我们提供了什么新功能 什么是竞态条件?…
今天要谈的主题是关于求职,求职是在每个技术人员的生涯中都要经历多次.对于我们大部分人而言,在进入自己心仪的公司之前少不了准备工作,有一份全面细致面试题将帮助我们减少许多麻烦.在跳槽季来临之前,特地做这个系列的文章,一方面帮助自己巩固下基础,另一方面也希望帮助想要换工作的朋友. 相关概念 面向对象的三个特征 封装,继承,多态,这个应该是人人皆知,有时候也会加上抽象. 多态的好处 允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用).主要…
1.String 是最基本的数据类型吗? 不是.Java中的基本数据类型只有8个:byte.short.int.long.float.double.char.boolean:除了基本类型(primitive type)和枚举类型(enumeration type),剩下的都是引用类型(reference type). 2.float f=3.4;是否正确? 不正确.3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损…
劲爆消息,我提供源代码了.你能够先看完再下载.也能够先下载再看完, android源代码地址: https://github.com/hebiao6446/------Bluetooth-Android IOS源代码地址:https://github.com/hebiao6446/------Bluetooth-iOS 我想说的是原理一样.仅仅只是ios使用的是通知 1.我等屌丝喜欢简单粗暴.首先来一幅图 哥们我是大陆人,当然默认语言是 简体中文,可是我刚刚切换成了繁体了 2.看下配置文件.依照…
目前常用的数据源主要有c3p0.dbcp.proxool.druid,先来说说他们Spring 推荐使用dbcp:Hibernate 推荐使用c3p0和proxool1. DBCP:apacheDBCP(DataBase connection pool)数据库连接池.是apache上的一个 java连接池项目,也是 tomcat使用的连接池组件.单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar由于建立数据库连…
当你点进来的时候 ,你可能是被标题吸引进来的,也有可能是 偶然间,看到的,首先恭喜你,已经准备好向全栈开发工程师靠近 ,那我们不说废话,直接开始,咱们先从安装步骤开始讲起 ,因为有些人连插件在哪都不知道 记得点关注哦 !防止迷路 VSCODE 插件安装步骤 : 这里我们开始以 VSCode Icons.为例,有点基础的,麻烦跳过..... 一.安装拓展 拓展插件如上图所示. 首先VScode 打开之后是这样的 然后我们点击 这里 要是上面这里你都找不到的话,大哥你退圈把,不适合做程序员 哈哈 安…
一.前言 B/S模式的特点之一,客户端版本升级相对简单.快捷,适合产品的快速迭代.而ActiveX组件的自动更新同样也继承了这一优点.下面我们一起来了解吧! 二.二话不说更新ActiveX 1. 设置ActiveX控件项目的程序集版本号.文件版本号 打开项目属性->程序集信息 2. 设置安装程序的版本号(msi文件的版本号) 打开项目属性 3. 设置注册表中的插件版本号 右键点击安装项目->视图->注册表:  在 HKEY_CLASSES_ROOT下创建 CLSID/{ActiveX控件…
一.Redis 集群概述 Redis 主从复制 到 目前 为止,我们所学习的 Redis 都是 单机版 的,这也就意味着一旦我们所依赖的 Redis 服务宕机了,我们的主流程也会受到一定的影响,这当然是我们不能够接受的. 所以一开始我们的想法是:搞一台备用机.这样我们就可以在一台服务器出现问题的时候切换动态地到另一台去: 幸运的是,两个节点数据的同步我们可以使用 Redis 的 主从同步 功能帮助到我们,这样一来,有个备份,心里就踏实多了. Redis 哨兵 后来因为某种神秘力量,Redis 老…
这是一个程序员的电脑硬盘,在一个叫做"学习"的目录下曾经生活着两个小程序,一个叫做Hello.java,即Java小子:另外一个叫做hello.c ,也就是C老头儿. C老头儿的命运比较悲催,程序员主人觉得C语言的指针太复杂了,内存管理太难了,实在是学不会,就放弃了,顺便把它给删除了! Java小子很怀念它,因为C老头儿虽然老派,但知识渊博,教了他不少东西. (码农翻身注:参见文章<C老头和Java小子的硬盘夜话>) 这天晚上,程序员心血来潮,决定跟Python混个脸熟,于…
更多精彩原创内容请关注:JavaInterview,欢迎 star,支持鼓励以下作者,万分感谢. 锁的分类介绍 乐观锁与悲观锁 锁的一种宏观分类是乐观锁与悲观锁.乐观锁与悲观锁并不是特定的指哪个锁(Java 中也没有那个具体锁的实现名就叫 乐观锁或悲观锁),而是在并发情况下两种不同的策略. 乐观锁(Optimistic Lock)就是很乐观,每次去拿数据的时候都认为别人不会修改.所以不会上锁.但是如果想要更新数据, 则会在更新之前检查在读取至更新这段时间别人有没有修改过这个数据.如果修改过,则重…
Java历史 学习Java语言之前,我觉得大家应该是从头开始,对吧?不管你之前是学过还是没学过,都和学习某一个知识一样,从头开始去了解它,然后到这个深入的掌握,到最后你可能理解并且灵活的运用.所以它肯定是这样的一个过程,所以不管你们之前有没有学过,反正建议大家都认真地看一看.那么,这“头”,哪里是“头”呢?在学习Java语言之前呢,我们得先了解它的历史背景,我觉得这应该是一个“头”,因为你学习任何一个东西的话得先了解它.是这样的把?也许你会觉得这个东西对于你来讲会无所谓,只要我会写程序就可以了,…
从 0 到 1,从邀请式内测到收费上线,flow.ci 经历了十个多月的沉淀与打磨.这期间,flow.ci 工程师们奋力赶工,进行了一系列的大功能更新,Bug 修复,功能优化. 这篇文章记录了 flow.ci 内测期间的大功能更新和相关的实践教程,以及在可预见的未来 flow.ci 将迭代的新功能. 正式内测 4月初,flow.ci Beta 上线,正式进入开发者的视野. Beta 版的 flow.ci 支持国外最主流的代码仓库构建,也有基础的插件和 trigger,支持主流的开发语言创建自动化…