java
韩利鹏
大数据处理-java高级工程师
展开
-
java8的特性你学废了吗
java8的新特性1. Lambda 表达式1.1 无参,无返回值1.2 只需要一个参数,无返回值1.3 需要有两个参数,有返回值2. 函数式接口2.1 自定义函数式接口2.2 函数式接口中使用泛型2.3 函数式接口作为参数使用3. 方法引用与构造器引用4. Stream API5. 接口中的默认方法与静态方法6. TODOjava8已经出来了n久了,竟然还有那么多人对java8的这些新功能还是停留在了解的阶段,这么多的提升效率的功能特性,你值得拥有!!!1. Lambda 表达式Lambda 是一原创 2020-10-23 23:17:56 · 412 阅读 · 0 评论 -
案例分析-单车定位
单车定位数据单车日志数据位置信息数据项目说明需求依赖说明项目原理图geoHash原理介绍httpClient使用说明百度地图接口调用说明开发流程工具类使用到的JavaBean构建本地仓库查找位置信息数据单车日志数据这个数据是单车用户使用的后台记录数据,主要是开锁,保修等日志记录。字段说明如下:触发事件访问的url时间用户的id经度维度省份城市区(县)原始数据如下所示:...原创 2020-10-17 13:11:36 · 367 阅读 · 0 评论 -
版本的比较
问题来源,投递一家大数据的职位,让写的一个题:您好!我技术合伙人需要先考察一下您的代码功底,麻烦您用java实现version compare函数及测试用例,我发给技术合伙人看看。目标是做成库给外部开发者用,对任意软件的版本号做比较,输入参数为两个版本号。function versionCompare(v1, v2),v1、v2是任意软件的两个版本号,比较其大小关系。不得使用现成的版本比较库函数。代原创 2017-02-26 12:07:37 · 2240 阅读 · 0 评论 -
java中嵌入执行shell语句
java中执行shell语句借助的是Process类和RunTime类 下面一个例子相信你会理解怎么把shell脚本嵌入到java中执行的package test;import java.io.IOException;public class ShellTest { public static void main(String[] args) throws IOException, Int原创 2016-11-13 10:35:23 · 3230 阅读 · 0 评论 -
java RMI(远程调用)
使用分为四步走 1:写一个需要实现的接口(需要继承Remote) 2:实现1写的接口(继承UnicastRemoteObject 类) 3:写一个注册类,用于服务端的使用(需要有main方法) 4:写一个客户端程序,用来进行远程调用(需要有main方法) IService接口:(需要继承Remote)import java.rmi.Remote; import java.rmi.Remo原创 2016-11-12 17:06:21 · 497 阅读 · 0 评论 -
统计java代码的行数
问题描述: 统计java代码中的有效代码行数,空行,和注释行数,使用java语言实现下面是我的代码,仅供参考(正常的代码应该都能统计出来的)import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import原创 2016-08-01 12:25:00 · 1020 阅读 · 0 评论 -
浅克隆与深克隆的区别-java
浅克隆:只能克隆对象本身,对于依附于对象的对象则不予克隆对象,只对其地址克隆 浅克隆需要注意的地方: 1:被克隆的对象需要实现Cloneable 2:Cloneable没有方法,是个标志性克隆 3:如果被克隆的对象维护着另一个,则只克隆了地址下面给出一个例子: 一个person类里面维护着一个Address类,p2克隆p1的时候只对person进行克隆,对于依附于person类的Addre原创 2016-08-04 16:51:41 · 1510 阅读 · 0 评论 -
线程池的几种常见的创建的方式
每次启动一个线程都要创建一个新的浪费资源的,还有时候线程过多的时候回造成服务器崩溃,所以有了线程池的诞生,线程池是用来管理线程的,下面是常用的几种创建线程的方式: 一:创建大小不固定的线程池//这是一个线程类public class ThreadChi implements Runnable{ public void run(){ for(int i=0;i<10;i++原创 2016-08-03 22:56:06 · 14063 阅读 · 2 评论 -
bat处理文件的常用命令
编写批处理文件,最直接的是吧dos命令行里的命令直接写到bat文件里,保存双击就可以运行了 除此之外还有以下常用的命令 常用命令: * echo 向控制台输出内容 * echo off 隐藏echo off后面的命令 * @ 隐藏当前行 * title 改变当前控制台的标题 * color 指定控制台的颜色 * %注释内容% * pause 让当前控制原创 2016-08-03 22:32:16 · 550 阅读 · 0 评论 -
基于tcp协议的socket客户端与服务端的通信-java
描述:基于tcp的Socket与ServerSocket的通信,客户端和服务端的聊天 实现语言:java 一:服务端的代码 1:服务端的键盘录入代码package chat;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.In原创 2016-08-03 16:08:12 · 3335 阅读 · 1 评论 -
java 集合的排序
首先说下List的排序吧,排序有两种实现的方法,一种是实现Comparable接口,重写重写int compareTo(Object o)方法,另一种是比较器类实现Comparator接口,重写int compare(Object o1, Object o2)方法。第一种使用实现Comparable接口的实现方法://直接在需要实现排序的类实现Comparable接口,实现里面的compare方法原创 2017-04-09 16:03:30 · 408 阅读 · 0 评论 -
HashSet去重原理
hashSet的实现原理: 往Haset添加元素的时候,HashSet会先调用元素的hashCode方法得到元素的哈希值 , 然后通过元素 的哈希值经过移位等运算,就可以算出该元素在哈希表中 的存储位置。情况1: 如果算出元素存储的位置目前没有任何元素存储,那么该元素可以直接存储到该位置上。情况2: 如果算出该元素的存储位置目前已经存在有其他的元素了,那么会调用该元素的equal原创 2017-04-09 17:24:30 · 1159 阅读 · 0 评论 -
mybatis从0到1
mybatis从零到一学习实战依赖的引入配置数据库连接功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入依赖的引入主要...原创 2019-01-03 15:37:46 · 357 阅读 · 0 评论 -
ThreadLocal的用法
为什么要使用ThreadLocal原创 2016-11-25 10:58:31 · 445 阅读 · 0 评论 -
jvm参数说明
GC算法标记-清除算法(Mark-Sweep)1、标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象2、在标记完成后统一回收所有被标记的对象缺点:一个是效率问题,标记和清除两个过程的效率都不高;另一个是空间问题,标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致以后在程序运行过程中需要分配较大对象时,无法找到足够的连续内存而不得不提前触发另一次垃圾原创 2018-01-21 22:22:03 · 384 阅读 · 0 评论 -
java中模拟一个阻塞队列(多线程)
模拟一个阻塞队列,当这个队列中满了的话,再往里添加元素则会阻塞在那里,直到有元素取出的时候才能往里加,取元素的时候,当队列是空的时候则会阻塞在那里,一直到有元素添加为止import java.util.LinkedList;import java.util.concurrent.atomic.AtomicInteger;/** * 模拟Queue * @author 小鹏鹏 * */p原创 2017-07-12 23:23:25 · 1180 阅读 · 0 评论 -
单例设计模式
听到单例设计模式大家可能会想到最多的是懒汉式和饿汉式吧,这里这两种方式我都不介绍了,可以参考我的这篇文章饿汉式 我要介绍的是在分布式中常用的,inner in class的这种形式(内部类的形式)public class InnerSingleton { private static class Singletion { private static Singletion s原创 2017-07-12 23:12:35 · 369 阅读 · 0 评论 -
day01运算
1:课程安排 9:00 20分钟打字 9:20 开始讲课 回顾昨天的内容 今天的内容 开始今天内容讲解 12:00 2:00 6:00 7:00晚自习 7:30 我会将今天要记得的内容列一下,说一下明天的内容2:大数据课程安排 2个月左右的java课程(乐看电影/ktv管理)原创 2017-07-10 17:41:24 · 346 阅读 · 0 评论 -
jdk原生态的WebService
WebService主要是解决系统之间调用的问题。使用场景例如:天气预报接口,可以供其他的用户,其他的系统去调用来获取天气情况。 下面是用java jdk自带的一些类库来实现Webservice。 首先看下包的分布 1:首先定义一个接口HelloWordpackage java.service;import javax.jws.WebService;@WebServicepublic原创 2017-05-30 23:33:54 · 416 阅读 · 0 评论 -
map的存储原理
map的实现方法有 1:HashMap 2:HashTable 3:TreeMapHashMap的存储原理HashMap的存储原理:(跟HashSet很像的,可以类比的理解下) 往HashMap添加元素的时候,首先会调用键的hashCode方法得到元素 的哈希码值,然后经过运算就可以算出该 元素在哈希表中的存储位置。 情况1: 如果算出的位置目前没有任原创 2017-04-10 23:21:00 · 3083 阅读 · 0 评论 -
tomcat发布网站的三种方式
tomcat发布网站三种方式 原理:配置元素 1、配置tomcat/conf/server.xml 内部 添加 元素 —– > 为网站配置虚拟目录 /aa —- 映射到 c:\AA 目录 * 修改server.xml 重启tomcat2、$CATALINA_HOME/conf/[enginename]/[hostname]/xxx.xml tomcat/conf/Catalin原创 2016-06-16 17:15:56 · 2856 阅读 · 0 评论 -
tomcat的安装目录结构简介
Tomcat目录结构 bin —- 存放tomcat启动关闭程序 conf — 存放tomcat 配置文件 lib — tomcat运行需要jar包 logs —- tomcat日志文件 webapps —- 网站发布目录 (所有网站可以发布到该目录) work —– 存放工程运行时,产生数据文件 (JSP翻译Servlet、Session持久化数据 )原创 2016-06-16 17:13:02 · 541 阅读 · 0 评论 -
tomcat服务器的搭建及介绍
什么是web服务器? 硬件环境、软件环境 在网络中安装web服务软件的计算机 web服务器软件环境搭建 1、weblogic BEA公司产品 ,随着BEA已经被oracle收购 —- 全面支持JavaEE 所有规范 ,收费的 2、websphere IBM 公司产品,功能比weblogic更加强大和复杂 —– 全面支持JavaEE 规范,收费 3、Apache Tomcat 免费、原创 2016-06-16 17:10:59 · 1000 阅读 · 0 评论 -
趣味面试题第一组
第一组 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻? 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水? 4.一原创 2016-06-01 22:42:27 · 737 阅读 · 0 评论 -
java基础类库
1:使用Scannery获取键盘输入2:System类3:Runtime类4:Object类5:String StringBuffer StringBuider类6:Math类7:ThreadLocalRandom与Random8:BIgDecimal类9:日期时间类10:正则表达式原创 2016-04-06 11:27:13 · 402 阅读 · 0 评论 -
Java中使用这则表达式
正则表达式主要用于查找,提取,分割,替换;例如爬虫,批量下载资源的地方使用,下面来简单的介绍下这则表达式的使用 String类里面提供的方法 boolean matchea(String regex):判断该表达式是否匹配到匹配的正则表达式; String replaceAll(String regex,String replacement):将该字符串中所有匹配的regex的子字符串替换成原创 2016-04-06 11:23:14 · 710 阅读 · 0 评论 -
Java中怎么获取键盘输入-Scanner
使用scanner类可以很方便的获取用户的键盘输入,Scannery是一个基于正则表达式的文本扫描器,他可以从文件、输入流、字符串中解析出来基本类型值和字符串值。 scanner主要提供两个方法来扫描输入: hasNextXXX():是否还有下一项输入项,其中Xxx可以是Int、Long等基本数据类型的字符串。如果只是判断是否有下一项输入,者可以直接使用hasNext()。原创 2016-02-21 16:03:06 · 4952 阅读 · 0 评论 -
Java中 ==和equals方法的区别
Java程序中测试两个变量是否相等有两种方法:一种是利用–运算符,另一种使用equals()方法。 用==判断相等时,如果两个变量是基本类型变量,且都是数值类型(不要求严格相同),则只要两个变量的值相等,精简返回true。 但对于两个引用变量,只有衙门两个指向同一个对象时候,==判断才会返回true。==不可用于比较擂响上没有父子关系的两个对象,下面是使用==判断的例子:public class原创 2016-02-16 23:37:34 · 546 阅读 · 0 评论 -
java中调用方法是传入的形参个数可变的方法
java中调用方法是传入的形参个数可变的方法 传入的多个参数可看成一个数组 问题例子:public class Varargs { public static void text(int a,String... books){ //book被当成数组处理 for (String tem : books){ System.out.pr原创 2015-12-27 22:25:57 · 659 阅读 · 0 评论 -
河南理工大学2014ACM初选试题
问题 A: HH 的一万天 时间限制: 1 Sec 内存限制: 128 MB 题目描述 HH 的生日是 YY 年 MM 月 DD 日,他想知道自己出生后第一万天纪念日的日期(出生日算第 0 天)。 输入 输入有多行 第一行先输入一个数字 N 接下来第 2 行到第 N+1 行,每行输入一个时间,格式为 YY MM DD 其中 1949<=YY<=2006, 日期绝对合法。 输原创 2015-11-21 16:11:54 · 1125 阅读 · 0 评论 -
xml解析方式
三种解析思想1.JAXP DOM 解析2.JAXP SAX 解析3.XML PULL 进行 STAX 解析XML 技术主要企业应用1、存储和传输数据 2、作为框架的配置文件使用xml 存储和传输数据1、通过程序生成xml2、读取xml 中数据 ---- xml 解析具体的解释什么是DOM和SAX ?DOM Document Object Model ----- 文档对象模型 DOM思原创 2016-06-07 15:12:09 · 314 阅读 · 0 评论 -
java进行DOM解析
DOM解析具体介绍:JAXP 开发 进行 xml解析 : javax.xml.parsers 存放 DOM 和 SAX 解析器 javax.xml.stream 存放 STAX 解析相关类 org.w3c.dom 存放DOM解析时 数据节点类 org.xml.sax 存放SAX解析相关工具类 DOM 解析快速入门1、创建 xml 文档 books.xml 在企业实际开发中,为了原创 2016-06-08 02:51:32 · 1189 阅读 · 0 评论 -
xml的SAX解析
SAX 和 STAX 都是 基于事件驱动 —– SAX推模式 STAX拉模式 SAX原理图如下: SAX常用事件 startDocument() —- 文档开始事件 startElemen() —- 元素开始事件 characters() —- 文本元素事件 endElement() —- 元素结束事件 endDocument() —– 文档结束事件 为什么说SAX是推模式解析原创 2016-06-08 03:35:17 · 438 阅读 · 0 评论 -
java反射机制
如果你想编写高效,功能强大java程序 必须使用反射技术 。 * 反射技术应用:编写框架,通用性很强程序Class 获得Class对象的三种方法 1、已知类 — 类名.class获得 2、已知对象 —- 对象.getClass获得 3、完整类名String格式 —- Class.forName(完整类名) * 最常用第三种 代码实现: @Test public voi原创 2016-06-15 20:26:55 · 380 阅读 · 1 评论 -
xml笔记
什么是标记语言?<xxx>aaa</xxx> 典型标记语言 HTML ---- 用标记 修饰文本信息XML标记随意定义 --- 可扩展XML典型存储和传输应用:1、XML 充当数据库 保存数据信息 --- 试题采用xml保存的 、google 数据信息通过xml格式保存2、在AJAX传输数据 、WebService技术 网络中传输数据时,格式采用xml在HTML中预定义了很多标记,每个标记原创 2016-06-05 10:31:27 · 435 阅读 · 0 评论 -
foreach的原理
foreach循环语句 (for/in语句) 引入原因:替换Iterator复杂写法,本质就是Iterator foreach语句主要应用: 1、遍历数组 2、遍历Collection 集合对象如果一个对象 使用forin语句中,该对象 必须满足两个条件 1、类 必须实现 Iterable 接口 2、类 实现 iterater 方法 * 编写Car 让 Car对象用于forin 语句f原创 2016-06-09 12:03:19 · 489 阅读 · 0 评论 -
自动装拆箱
自动装拆箱是指基本类型和引用类型的转换@Testpublic void demo1(){ int i=0; Integer I=i;}原创 2016-06-09 11:38:45 · 365 阅读 · 0 评论 -
java枚举
枚举 —– 用来对一定范围内的值 进行取值 枚举语法 : enum 枚举类名称 { 枚举对象实例,枚举对象实例… ; } * 可读性良好、阻止非法数据案例:员工和角色案例 —-枚举技术由来 * 应用 :多个固定取值范围中 取一个值 , 三选一效果Java数据类型有几种:两大种 引用数据类型 原始数据类型 引用数据类型 :interface class 数组 enum 原始数据类型原创 2016-06-09 01:43:45 · 427 阅读 · 0 评论 -
java单例设计模式
单例设计模式写法(步骤,三步走) 1、私有构造器 2、private static 成员对象 3、public static 获得成员对象方法 * 懒汉式 和 饿汉式 饿汉:在创建对象时 直接进行初始化 懒汉:在获取对象时 进行初始化原创 2016-06-09 01:46:28 · 478 阅读 · 0 评论 -
java泛型
泛型 — 通用类型 由来 : java语言 开发者 一批C++ 工程师 ,在c++ 语法中 模板技术 —– java泛型由来 应用 : 1、类型安全检查 2、编写通用java程序(java框架)JDK5 之前集合对象使用问题: 1、向集合添加任何类型对象 2、从集合取出对象时,数据类型丢失,使用与类型相关方法,强制类型转换 * 程序存在安全隐患 泛型语法: List<泛型类型> 规定 L原创 2016-06-09 00:48:34 · 387 阅读 · 0 评论