目录
前言
1. forEach遍历
2. filter过滤
3. distinct去重
4. limit截取
5. skip跳过
6.排序sorted
7.最值max,min
8. 统计reduce
9. List结构转换Map结构
10. List对象转List
11. List对象转List
总结
前言
毕业入职工作后开始接触Stream流,觉得挺方便的,尽可能全面的记录一下Stream流的方法。
1. forEach遍历
forEach:该方法接收一个Consumer接口函数,将每一个流元素交给该函数处理 forEach方法:用来遍历流中的数据 注:是一个终结方法,遍历之后就不能继续调用Stream流中的其他方法
public class Stream_ForEach {
public static void main(String[] args) {
//获取一个Stream流
Streamstream= Stream.of("张三","李四","王五","赵六");
//使用Stream流的方法forEach对stream流中的数据遍历
stream.forEach((String name)->{
System.out.println(name);
});
}
}
2. filter过滤
filter:用于对Stream流中的数据进行过滤 filter(Predicatepredicate) filter方法的参数Predicate是一个函数式接口,可以使用lambda表达式 Predicate中的抽象方法 boolean test(T t)
public class Stream_filter {
public static void main(String[] args) {
//创建一个Stream流
Stream stream = Stream.of("张三", "李四", "王五", "赵六1", "刘老七");
//单条件过滤
Stream stream1 = stream.filter((String name) -> {
return name.startsWith("刘");
});
//多条件过滤
List stream2 = stream.filter((String name) -> {
if(name.length()>=3 && name.equals("刘老七")){
return true;
}
return false;
}).collect(Collectors.toList);
//遍历stream1
stream1.forEach((name)-> System.out.println(name));
//输出stream2
System.out.println(stream2)
}
}
3. distinct去重
public class Stream_distinct {
public static void main(String[] args) {
//创建一个Stream流
Stream stream = Stream.of("张三", "张三","张三","李四", "王五", "赵六1", "刘老七");
//去重
List stream1 = stream().distinct().collect(Collectors.toList());
//输出stream1
System.out.println(stream1)
}
}
4. limit截取
limit:用于截取流中的元素 limit可以对流进行截取,只取用前n个 limit(long maxSize); 参数是一个long型,如果集合当前长度大于参数则进行截取,否则不进行操作 limit是一个延迟方法,可以继续使用Stream流方法
public class Stream_limit {
public static void main(String[] args) {
//创建一个Stream流
Stream stream = Stream.of("张三", "张三","张三","李四", "王五", "赵六1", "刘老七");
//去重
List list = stream().distinct().collect(Collectors.toList());
//截取去重后的前2个元素
list = list.stream().limit(2).collect(Collectors.toList();
//输出stream1
System.out.println(list)
}
}
5. skip跳过
skip方法:用于跳过元素 skip(long n) 如果流的当前长度大于n,则跳过前n个,否则将会得到一个长度为0的空流
public class Stream_skip {
public static void main(String[] args) {
//创建一个Stream流
Stream stream = Stream.of("张三", "张三","张三","李四", "王五", "赵六1", "刘老七");
//去重
List list = stream().distinct().collect(Collectors.toList());
//跳过去重后的前2个元素
list = list.stream().skip(2).collect(Collectors.toList());
//输出stream1
System.out.println(list)
}
}
6.排序sorted
public class Stream_sorted {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add(new Test("张三",23,new BigDecimal("3000"),new BigDecimal("1.1")));
list.add(new Test("李四",24,new BigDecimal("2800"),new BigDecimal("1.2")));
list.add(new Test("王五",22,new BigDecimal("3200"),new BigDecimal("1.3")));
//根据年龄从大到小排序
list = list.stream()
.sorted(Comparator.comparing(Test::getAge).reversed())
.collect(Collectors.toList());
list.forEach(System.out::println);
}
}
7.最值max,min
public class Stream_max_min {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add(new Test("张三",23,new BigDecimal("3000"),new BigDecimal("1.1")));
list.add(new Test("李四",24,new BigDecimal("2800"),new BigDecimal("1.2")));
list.add(new Test("王五",22,new BigDecimal("3200"),new BigDecimal("1.3")));
//获取年龄最大的人
Test maxPeople = list.stream().max(Comparator.companing(Test::getAge)).get();
//获取年龄最小的人
Test minPeople = list.stream().min(Comparator.companing(Test::getAge)).get();
}
}
8. 统计reduce
public class Stream_reduce {
public static void main(String[] args) {
List testList = new ArrayList();
testList.add(new Test("小明",23,new BigDecimal("3000"),new BigDecimal("1.1")));
testList.add(new Test("小红",24,new BigDecimal("2800"),new BigDecimal("1.2")));
testList.add(new Test("小兰",22,new BigDecimal("3200"),new BigDecimal("1.3")));
//统计年龄总和
int totalAge =testList.stream().mapToInt(Test::getAge).sum();
//统计工资总和
BigDecimal totalSalary = testList.stream().map(Test::getSalary)
//统计工资乘以各自系数的总和(向上保留两位)
BigDecimal totalRatioSalary = testList.stream()
.map(s->s.getSalary()
.multiply(s.getRatio())
.setScale(2,BigDecimal.ROUND_HALF_UP))
.reduce(BigDecimal.ZERO,BigDecimal::add);
}
}
9. List结构转换Map结构
public class Stream_List_Map {
public static void main(String[] args) {
List testList = new ArrayList();
testList.add(new Test("张三",23,new BigDecimal("3000"),new BigDecimal("1.1")));
testList.add(new Test("李四",24,new BigDecimal("2800"),new BigDecimal("1.2")));
testList.add(new Test("王五",22,new BigDecimal("3200"),new BigDecimal("1.3")));
//根据姓名转map,map的key为name
Map nameMap= testList.stream().collect(Collectors.toMap(Test::getName, Test -> Test);
System.out.println(map);
}
}
10. List对象转List
public class Stream_object_string {
public static void main(String[] args) {
List testList = new ArrayList();
testList.add(new Test("张三",23,new BigDecimal("3000"),new BigDecimal("1.1")));
testList.add(new Test("李四",24,new BigDecimal("2800"),new BigDecimal("1.2")));
testList.add(new Test("王五",22,new BigDecimal("3200"),new BigDecimal("1.3")));
//获取姓名集合
List nameList = testList.stream().map(Test::getName()).collect(Collectors.toList());
System.out.println("value:"+nameList);
}
}
11. List对象转List
public class Stream_object_object {
public static void main(String[] args) {
List peopleList = new ArrayList();
peopleList.add(new People("张三",23,new BigDecimal("3000"),new BigDecimal("1.1")));
peopleList.add(new People("李四",24,new BigDecimal("2800"),new BigDecimal("1.2")));
peopleList.add(new People("王五",22,new BigDecimal("3200"),new BigDecimal("1.3")));
//对象转对象
List studentList = peopleList.stream().map(s->{
return new Student(s.getName(),s.getAge());
}).collect(Collectors.toList());
System.out.println("value:"+studentList);
}
}
总结
略
你可能感兴趣的:(java,开发语言,spring,boot)
java中使用java扩展包下的mail实现邮件发送
奋力向前123
java java 开发语言
java中使用java扩展包下的mail实现邮件发送前言Java中经常需要使用发送邮件的场景,比如日志告警,某些任务运行情况,当无人值守的时候,系统出现了问题,需要系统自动发送邮件给到运维人员。所以实现自动发送邮件是java开发人员必掌握的技能之一。下面介绍实现办法,我们使用的是java扩展包下的mail包实现java发送邮件。一、发送邮件@ActionConstructInit(paramete
学习Flink:一场大数据世界的奇妙冒险
狮歌~资深攻城狮
大数据
学习Flink:一场大数据世界的奇妙冒险嘿,朋友们!今天咱们来聊聊怎么学习Flink这个在大数据界超火的玩意儿相信很多小伙伴都听说过它,但不知道从哪儿开始下手,别愁,听我慢慢唠唠~一、学习Flink前的“装备”准备想象一下,你要去攀登一座高峰学习Flink也得先做好准备工作呀。首先,你得熟悉一门编程语言,Java或者Scala比较好。Java就像是你出门的常用交通工具大家都比较熟悉,找资料、学教程
解决kafka3.0.0在windows下不能启动的问题
raiseup2
practice windows kafka java 后端 开发语言
看到一个问题,说在用java代码发送kafka消息的时候能指定一个partition参数:importorg.apache.kafka.clients.producer.ProducerRecord;publicclassKafkaProducerExample{publicstaticvoidmain(String[]args){Stringtopic="test";intpartition=0
Spring Boot与支付宝集成全攻略:一文详解,支付+退款轻松实现
墨瑾轩
一起学学Java【一】 spring boot 数据库 后端
在SpringBoot应用中集成支付宝支付功能,不仅涉及到支付流程的实现,还包括退款处理,是构建在线交易系统的重要组成部分。以下内容将深度解析如何在SpringBoot项目中集成支付宝支付,包括支付和退款功能的实现步骤、代码示例和配置详解。1.环境准备支付宝开发者账户:首先,需要在支付宝开放平台注册开发者账户,并创建应用,获取AppID、私钥和公钥。SDK集成依赖:添加支付宝JavaSDK到项目。
Scala---Array(集合、序列)
请叫我小飞机
scala java 开发语言
Scala:Array(集合、序列)数组是一种可变的、可索引的数据集合。在Scala中用Array[T]的形式来表示Java中的数组形式T[]。valnumbers=Array(1,2,3,4)//声明一个数组对象valfirst=numbers(0)//读取第一个元素numbers(3)=100//替换第四个元素为100valbiggerNumbers=numbers.map(_*2)//所有元
【Javascript网页设计】产品展示 JavaScript 设计案例
Netsuite + 影刀
Javascript案例 javascript 前端 html
代码如下:产品展示页面body{font-family:Arial,sans-serif;margin:20px;text-align:center;}.product-container{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;}.product-card{border:1pxsolid#ddd;padding:15
spring-ioc-bean
周周写不完的代码
spring java 后端
本文重点在于充分应用Spring提供的IoC特性,介绍如何创建一个好用的Bean。基础篇不涉及后置处理器、BeanDefinition以及Spring加载原理相关的知识。引入ioc的起源**接口与实现类的需求变更**:最初的静态工厂模式。**反射机制**:延迟加载,避免编译时依赖。**外部化配置**:将Bean的全限定名存储在配置文件中。**缓存机制**:存储已创建的Bean对象。入门使用Spri
SpringBoot Bug 日志
优雅的造轮狮
JavaEE spring boot bug java
Spring循环依赖问题Bug如下wxMpConfiguration→subscribeHandler→wxMsgServiceImpl→wxMpConfiguration解决方案方案实施方式注意事项接口抽象定义WxMpService接口,通过接口注入最佳设计实践Setter注入对非必要依赖使用setter方法降低耦合度@Lazy注解在循环点添加延迟加载需测试性能影响配置允许循环spring.ma
网络空间安全(13)上传验证绕过
IT 青年
网安知识库 网络空间安全
前言上传验证绕过是一种网络安全攻击手段,攻击者利用目标系统或应用程序在文件上传过程中存在的漏洞,绕过文件上传的验证机制,上传恶意文件,从而实现对目标系统的攻击。一、常见类型客户端验证绕过定义:客户端验证通常通过JavaScript在浏览器中执行,用于检查文件类型、大小等。客户端验证绕过是指攻击者通过禁用JavaScript或修改前端代码,绕过这些验证。绕过方法:禁用JavaScript:直接在浏览
Spring使用JWT进行登录验证
PXM的算法星球
Java后端 spring java 后端
前情提要:由于这学期课设需要使用SSM技术栈,导致一些好用的登录框架无法适配,所以改用手写JWT进行登录验证JWT简介JSONWebToken(JWT)是一种用于在网络应用环境中进行用户身份验证和信息交换的开放标准。它通过将数据以JSON格式进行编码,使得信息在不同的系统和应用之间得以安全传递。JWT的主要特点是结构简洁且安全性高,广泛应用于单点登录(SSO)、API授权和用户身份认证。JWT由三
JAVA开发技术学习规划 —— 给未来20年技术领航者的你
_AndyLau
学习
亲爱的大学生朋友们,在这个信息爆炸、技术日新月异的时代,选择成为一名JAVA开发者,意味着你将踏入一个充满挑战与机遇的广阔天地。作为一位在JAVA开发领域深耕20年的老兵,我亲历了JAVA从诞生、成长到壮大的全过程,见证了它如何从一个新兴的语言逐渐发展成为企业级应用开发的首选。今天,我想将这份宝贵的经验凝聚成一份详实的技术学习规划,为即将踏上这条征途的你们,指引方向,助力你们在JAVA开发的道路上
Java 枚举类详解:从基础到实战
C_V_Better
java java 后端 开发语言 设计模式
目录一、定义枚举类1.基本语法2.示例二、使用枚举类1.访问枚举常量2.遍历枚举常量3.获取枚举常量的值三、带有方法和字段的枚举类1.示例2.使用示例四、重写枚举类的方法2.使用示例五、枚举类的高级特性1.实现接口2.使用示例3.使用`@Enumordinal`注解4.使用示例六、总结在Java编程中,枚举类是一种特殊类型的类,它用于定义一组固定的常量。枚举类在实际开发中非常有用,可以用来表示状态
Java 导出 PDF 文件:从入门到实战
C_V_Better
java java 开发语言 算法 pdf
目录一、为什么需要导出PDF文件?二、使用iText库生成PDF文件1.添加依赖2.生成PDF文件3.添加表格和图像三、使用ApachePDFBox生成PDF文件1.添加依赖2.生成PDF文件3.添加表格和图像四、总结在Java开发中,生成PDF文件是一个常见的需求。无论是生成报告、发票还是其他文档,掌握PDF文件的生成技巧都可以大大提高工作效率。本文将详细介绍Java中如何导出PDF文件,包括使
Spring 事务(详解)
Bejpse
spring java 后端
4.Spring事务4.1什么是事务?将组操作封装成个执单元,要么全部成功要么全部失败。为什么要事务?如转账分为两个操作:第步操作:A账户-100元,第步操作:B账户+100元。如果没有事务,第步执成功了,第步执失败了,那么A账户平故的100元就“间蒸发”了。如果使事务就可以解决这个问题,让这组操作要么起成功,要么起失败。4.1.1事务特性事务有4特性(ACID):原性(Atomicity,或称不
Spring 集成事务管理详解:银行转账示例
阿绵
后端 spring java 后端 事务管理
1.前言在JavaEE开发中,数据库事务是保证数据一致性的重要机制。Spring提供了强大的事务管理功能,允许开发者通过声明式事务(基于注解)或编程式事务(手动管理)来控制事务。本文介绍如何在原始Spring框架(非SpringBoot)中集成事务管理,包括配置步骤和代码示例本代码示例版本要求:Java17+Spring6+2.事务管理的基本概念2.1什么是事务?事务(Transaction)是一
计算机网络-子网划分【Java版】
「已注销」
java 计算机网络 子网划分
计算机网络-子网划分【Java版】packagecom;importjava.util.Scanner;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassMain{//输入流publicstaticScannersc=newScanner(System.in);//网络地址publicstaticStrin
Spring学习笔记03——Spring Boot的文件结构
Shaoxi Zhang
Java 学习 笔记 spring boot
Springboot常见的文件结构:src/├──main/│├──java/││└──com.example.demo/││├──DemoApplication.java#主入口││├──config/#配置类││├──controller/#控制器││├──service/#业务逻辑││├──mapper/#数据库操作接口││├──entity/#数据库实体类││├──dto/#数据传输对象│
springboot接入emqx的mqtt
renkai721
JAVA spring boot mqtt emqx
需求背景物联网设备需要通过mqtt协议传输,这里记录一下,注意,这篇文章不能接入阿里云的mqtt,本人已经试过,会报错。开发教程1、EMQX安装部署--1安装必要的依赖sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2--2设置repo库sudoyum-config-manager--add-repohttps://repos.em
Java 运算符
Mr_One_Zhang
学习JAVA java python 算法
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:算术运算符关系运算符位运算符逻辑运算符赋值运算符其他运算符算术运算符算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。表格中的实例假设整数变量A的值为10,变量B的值为20:操作符描述例子+加法-相加运算符两侧的值A+B等于30
如何在Spring Boot中读取JAR包内resources目录下文件
嘵奇
提升自己 spring boot jar
精心整理了最新的面试资料和简历模板,有需要的可以自行获取点击前往百度网盘获取点击前往夸克网盘获取以下是如何在SpringBoot中读取JAR包内resources目录下文件的教程,分为多种方法及详细说明:方法1:使用ClassPathResource(Spring框架推荐)适用于Spring环境,能自动处理类路径资源。importorg.springframework.core.io.ClassP
Java版工程行业管理系统源码-专业的工程管理软件- 工程项目各模块及其功能点清单
m0_72864708
java 企业工程管理系统源码 工程管理系统 工程行业管理系统源码
工程项目管理系统的技术革新与数字化转型随着科技的飞速发展,工程项目管理领域正经历着前所未有的变革。在这个变革中,一款先进的工程项目管理软件应运而生,它不仅提升了项目管理的效率和质量,更推动了企业数字化转型的进程。这款工程项目管理软件采用了Vue、Uniapp、Layui等前沿技术框架,构建了一个覆盖项目全生命周期的综合管理平台。从项目策划决策、规划设计,到施工建设、竣工交付,再到总结评估和运维运营
基于SpringBoot大学生创新创业训练项目管理系统的设计与实现
四金学长
spring boot 后端 java 大学生创新创业训练项目管理系统
1.引言在当今的软件开发领域,企业级应用的开发和部署速度直接影响着业务的竞争力。SpringBoot以其轻量级、快速启动和强大的集成能力,成为构建现代企业级应用的首选框架。本文将带您深入了解SpringBoot框架的核心特性,并展示如何利用它构建一个高效、可扩展的系统。2.开发环境开发语言:Java框架:springbootJD版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定
Spring Boot 异步编程深入剖析
珠峰日记
spring boot java 后端
SpringBoot异步编程深入剖析1.异步方法的使用原理深度解析SpringBoot的异步方法基于Spring的AOP(面向切面编程)实现。当在方法上添加@Async注解时,Spring会为该方法所在的类创建一个代理对象。当调用该异步方法时,实际上是调用代理对象的方法,代理对象会将该方法的执行委托给线程池中的一个线程去执行,而调用线程会继续执行后续代码,从而实现异步执行。更复杂的使用场景除了返回
SpringBoot+Quartz+Redis+Mysql定时从Redis存入Mysql
baxxdwyp
springboot quartz redis mysql
先说明一下场景以博客为例,对每个用户的粉丝,和该用户下面的博客的赞数之和,放入redis这里以1小时更新一次代码实现以https://blog.csdn.net/baxxdwyp/article/details/102622981https://blog.csdn.net/baxxdwyp/article/details/102620035为基础,一个quartz单任务,一个redisset点赞我
springboot+mqtt(emqx)
summenger
spring boot java 后端
1.pom依赖org.springframework.bootspring-boot-starter-integrationorg.springframework.integrationspring-integration-streamorg.springframework.integrationspring-integration-mqtt2.application.yaml配置hostUrl:
scanner console = new Scanner(System.in)啥意思啊?
IT_Octopus
java java 后端
在百度上查,发现答案参差不齐,但是都在用不同的角度在解释。System.in是标准输入设备。Scanner是JAVA流里面的一个输入类。Scanner是常用的输入流的语句,而Scannerxxx(自己随便定义变量)=newScanner(System.in)则是输入流的入口,也就是有了这一句在像控制台送出了一个信号:我就要输入内容了,你给我挪出位置,听我的命令。之后不管是xxx.nextInt()
新闻推荐系统:Spring Boot框架详解
2402_85758936
spring boot 后端 java
2相关技术2.1MYSQL数据库MySQL是一个真正的多用户、多线程SQL数据库服务器。是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适用于Web站点或者其他应用软件的数据库后端的开发工作。此外,用户可利用许多语言编写访问MySQL数据库的程序。作为开放源代码运动的产物之一,MyS
新闻稿件管理系统:SpringBoot框架全面解析
杨哥带你写代码
spring boot java 后端
5系统详细实现5.1管理员模块的实现5.1.1用户信息管理新闻稿件管理系统的系统管理员可以管理用户,可以对用户信息修改删除以及查询操作。具体界面的展示如图5.1所示。图5.1用户信息管理界面5.1.2记者信息管理系统管理员可以查看对记者信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。图5.2记者信息管理界面5.1.3审批员信息管理系统管理员可以对审批员信息进行添加,修改,删除以及查询
基于Spring Boot+vue的厨艺交流平台系统设计与实现
程序媛小果
毕设 java精品毕设 前端 spring boot vue.js 后端
大家好,今天要和大家聊的是一款基于SpringBoot的“厨艺交流平台”系统的设计与实现。项目源码以及部署相关事宜请联系我,文末附上联系方式。项目简介基于SpringBoot的“厨艺交流平台”系统设计与实现的主要使用者分为管理员、普通用户和游客。没有授权的用户无法使用本系统功能,包括个人中心、食材分类管理、用户管理、菜品分类管理、菜谱信息管理、食材信息管理、商品分类管理、商品信息管理、美食日志管理
2025年计算机毕业设计springboot 校园生活服务平台
zhihao501
课程设计 spring boot 后端
本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容选题背景关于校园生活服务平台的研究,现有研究主要以校园信息化管理、服务系统集成以及学生需求满足为主。然而,专门针对校园生活服务平台综合功能设计与实现的研究较少。当前,随着信息技术的快速发展,校园生活服务平台的构建与优化成为提升校园生活质量、增强学生学习体验的重要途径。本课题目前存在的争
Enum 枚举
120153216
enum 枚举
原文地址:http://www.cnblogs.com/Kavlez/p/4268601.html Enumeration
于Java 1.5增加的enum type...enum type是由一组固定的常量组成的类型,比如四个季节、扑克花色。在出现enum type之前,通常用一组int常量表示枚举类型。比如这样:
public static final int APPLE_FUJI = 0
Java8简明教程
bijian1013
java jdk1.8
Java 8已于2014年3月18日正式发布了,新版本带来了诸多改进,包括Lambda表达式、Streams、日期时间API等等。本文就带你领略Java 8的全新特性。
一.允许在接口中有默认方法实现
Java 8 允许我们使用default关键字,为接口声明添
Oracle表维护 快速备份删除数据
cuisuqiang
oracle 索引 快速 备份 删除
我知道oracle表分区,不过那是数据库设计阶段的事情,目前是远水解不了近渴。
当前的数据库表,要求保留一个月数据,且表存在大量录入更新,不存在程序删除。
为了解决频繁查询和更新的瓶颈,我在oracle内根据需要创建了索引。但是随着数据量的增加,一个半月数据就要超千万,此时就算有索引,对高并发的查询和更新来说,让然有所拖累。
为了解决这个问题,我一般一个月会进行一次数据库维护,主要工作就是备
java多态内存分析
麦田的设计者
java 内存分析 多态原理 接口和抽象类
“ 时针如果可以回头,熟悉那张脸,重温嬉戏这乐园,墙壁的松脱涂鸦已经褪色才明白存在的价值归于记忆。街角小店尚存在吗?这大时代会不会牵挂,过去现在花开怎么会等待。
但有种意外不管痛不痛都有伤害,光阴远远离开,那笑声徘徊与脑海。但这一秒可笑不再可爱,当天心
Xshell实现Windows上传文件到Linux主机
被触发
windows
经常有这样的需求,我们在Windows下载的软件包,如何上传到远程Linux主机上?还有如何从Linux主机下载软件包到Windows下;之前我的做法现在看来好笨好繁琐,不过也达到了目的,笨人有本方法嘛;
我是怎么操作的:
1、打开一台本地Linux虚拟机,使用mount 挂载Windows的共享文件夹到Linux上,然后拷贝数据到Linux虚拟机里面;(经常第一步都不顺利,无法挂载Windo
类的加载ClassLoader
肆无忌惮_
ClassLoader
类加载器ClassLoader是用来将java的类加载到虚拟机中,类加载器负责读取class字节文件到内存中,并将它转为Class的对象(类对象),通过此实例的 newInstance()方法就可以创建出该类的一个对象。
其中重要的方法为findClass(String name)。
如何写一个自己的类加载器呢?
首先写一个便于测试的类Student
html5写的玫瑰花
知了ing
html5
<html>
<head>
<title>I Love You!</title>
<meta charset="utf-8" />
</head>
<body>
<canvas id="c"></canvas>
google的ConcurrentLinkedHashmap源代码解析
矮蛋蛋
LRU
原文地址:
http://janeky.iteye.com/blog/1534352
简述
ConcurrentLinkedHashMap 是google团队提供的一个容器。它有什么用呢?其实它本身是对
ConcurrentHashMap的封装,可以用来实现一个基于LRU策略的缓存。详细介绍可以参见
http://code.google.com/p/concurrentlinke
webservice获取访问服务的ip地址
alleni123
webservice
1. 首先注入javax.xml.ws.WebServiceContext,
@Resource
private WebServiceContext context;
2. 在方法中获取交换请求的对象。
javax.xml.ws.handler.MessageContext mc=context.getMessageContext();
com.sun.net.http
菜鸟的java基础提升之道——————>是否值得拥有
百合不是茶
1,c++,java是面向对象编程的语言,将万事万物都看成是对象;java做一件事情关注的是人物,java是c++继承过来的,java没有直接更改地址的权限但是可以通过引用来传值操作地址,java也没有c++中繁琐的操作,java以其优越的可移植型,平台的安全型,高效性赢得了广泛的认同,全世界越来越多的人去学习java,我也是其中的一员
java组成:
通过修改Linux服务自动启动指定应用程序
bijian1013
linux
Linux中修改系统服务的命令是chkconfig (check config),命令的详细解释如下: chkconfig
功能说明:检查,设置系统的各种服务。
语 法:chkconfig [ -- add][ -- del][ -- list][系统服务] 或 chkconfig [ -- level <</SPAN>
spring拦截器的一个简单实例
bijian1013
java spring 拦截器 Interceptor
Purview接口
package aop;
public interface Purview {
void checkLogin();
}
Purview接口的实现类PurviesImpl.java
package aop;
public class PurviewImpl implements Purview {
public void check
[Velocity二]自定义Velocity指令
bit1129
velocity
什么是Velocity指令
在Velocity中,#set,#if, #foreach, #elseif, #parse等,以#开头的称之为指令,Velocity内置的这些指令可以用来做赋值,条件判断,循环控制等脚本语言必备的逻辑控制等语句,Velocity的指令是可扩展的,即用户可以根据实际的需要自定义Velocity指令
自定义指令(Directive)的一般步骤
&nbs
【Hive十】Programming Hive学习笔记
bit1129
programming
第二章 Getting Started
1.Hive最大的局限性是什么?一是不支持行级别的增删改(insert, delete, update)二是查询性能非常差(基于Hadoop MapReduce),不适合延迟小的交互式任务三是不支持事务2. Hive MetaStore是干什么的?Hive persists table schemas and other system metadata.
nginx有选择性进行限制
ronin47
nginx 动静 限制
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;...
server {...
location ~.*\.(gif|png|css|js|icon)$ {
java-4.-在二元树中找出和为某一值的所有路径 .
bylijinnan
java
/*
* 0.use a TwoWayLinkedList to store the path.when the node can't be path,you should/can delete it.
* 1.curSum==exceptedSum:if the lastNode is TreeNode,printPath();delete the node otherwise
Netty学习笔记
bylijinnan
java netty
本文是阅读以下两篇文章时:
http://seeallhearall.blogspot.com/2012/05/netty-tutorial-part-1-introduction-to.html
http://seeallhearall.blogspot.com/2012/06/netty-tutorial-part-15-on-channel.html
我的一些笔记
===
js获取项目路径
cngolon
js
//js获取项目根路径,如: http://localhost:8083/uimcardprj
function getRootPath(){
//获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
var curWwwPath=window.document.locati
oracle 的性能优化
cuishikuan
oracle SQL Server
在网上搜索了一些Oracle性能优化的文章,为了更加深层次的巩固[边写边记],也为了可以随时查看,所以发表这篇文章。
1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。(这点本人曾经做过实例验证过,的确如此哦!
Shell变量和数组使用详解
daizj
linux shell 变量 数组
Shell 变量
定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:
your_name="w3cschool.cc"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用ba
编程中的一些概念,KISS、DRY、MVC、OOP、REST
dcj3sjt126com
REST
KISS、DRY、MVC、OOP、REST (1)KISS是指Keep It Simple,Stupid(摘自wikipedia),指设计时要坚持简约原则,避免不必要的复杂化。 (2)DRY是指Don't Repeat Yourself(摘自wikipedia),特指在程序设计以及计算中避免重复代码,因为这样会降低灵活性、简洁性,并且可能导致代码之间的矛盾。 (3)OOP 即Object-Orie
[Android]设置Activity为全屏显示的两种方法
dcj3sjt126com
Activity
1. 方法1:AndroidManifest.xml 里,Activity的 android:theme 指定为" @android:style/Theme.NoTitleBar.Fullscreen" 示例: <application
solrcloud 部署方式比较
eksliang
solrCloud
solrcloud 的部署其实有两种方式可选,那么我们在实践开发中应该怎样选择呢? 第一种:当启动solr服务器时,内嵌的启动一个Zookeeper服务器,然后将这些内嵌的Zookeeper服务器组成一个集群。 第二种:将Zookeeper服务器独立的配置一个集群,然后将solr交给Zookeeper进行管理
谈谈第一种:每启动一个solr服务器就内嵌的启动一个Zoo
Java synchronized关键字详解
gqdy365
synchronized
转载自:http://www.cnblogs.com/mengdd/archive/2013/02/16/2913806.html
多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。
同步机制可以使用synchronized关键字实现。
当synchronized关键字修饰一个方法的时候,该方法叫做同步方法。
当s
js实现登录时记住用户名
hw1287789687
记住我 记住密码 cookie 记住用户名 记住账号
在页面中如何获取cookie值呢?
如果是JSP的话,可以通过servlet的对象request 获取cookie,可以
参考:http://hw1287789687.iteye.com/blog/2050040
如果要求登录页面是html呢?html页面中如何获取cookie呢?
直接上代码了
页面:loginInput.html
代码:
<!DOCTYPE html PUB
开发者必备的 Chrome 扩展
justjavac
chrome
Firebug:不用多介绍了吧https://chrome.google.com/webstore/detail/bmagokdooijbeehmkpknfglimnifench
ChromeSnifferPlus:Chrome 探测器,可以探测正在使用的开源软件或者 js 类库https://chrome.google.com/webstore/detail/chrome-sniffer-pl
算法机试题
李亚飞
java 算法 机试题
在面试机试时,遇到一个算法题,当时没能写出来,最后是同学帮忙解决的。
这道题大致意思是:输入一个数,比如4,。这时会输出:
&n
正确配置Linux系统ulimit值
字符串
ulimit
在Linux下面部 署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题;这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用 其实很容易就达到这个数量。下面说的是,如何通过正解配置来改正这个系统默认值。因为这个问题是我配置Nginx+php5时遇到了,所以我将这篇归纳进
hibernate调用返回游标的存储过程
Supanccy2013
java DAO oracle Hibernate jdbc
注:原创作品,转载请注明出处。
上篇博文介绍的是hibernate调用返回单值的存储过程,本片博文说的是hibernate调用返回游标的存储过程。
此此扁博文的存储过程的功能相当于是jdbc调用select 的作用。
1,创建oracle中的包,并在该包中创建的游标类型。
---创建oracle的程
Spring 4.2新特性-更简单的Application Event
wiselyman
application
1.1 Application Event
Spring 4.1的写法请参考10点睛Spring4.1-Application Event
请对比10点睛Spring4.1-Application Event
使用一个@EventListener取代了实现ApplicationListener接口,使耦合度降低;
1.2 示例
包依赖
<p