
Java基础
文章平均质量分 86
Little White_007
这个作者很懒,什么都没留下…
展开
-
Java中list如何利用遍历进行删除操作
Java三种遍历如何进行list的便利删除:1、for循环:常见初五写法:(由于下标问题达不到想要效果)for(int i=0;i<list.size();i++){ if(list.get(i).equals("del")) list.remove(i);}应该改为:(倒序操作避免下标问题)int size = list.size();for(int i=siz...转载 2018-03-31 10:23:41 · 19093 阅读 · 5 评论 -
eclipse搭建 maven项目
1.新建maven项目新建中没有的话,需要去others里面搜一下下一步~请选择红框中内容——即:web项目输入两个id package可以不写,是它默认帮你新建一个包,不写没关系会生成一个这样目录的项目(默认项目生成出来会报错)2、配置jdk及版本信息(解决报错)2.1 java build path项目创建时会用jdk1.5或者1.6,我这里改为jdk1.82.2 project facet...转载 2018-06-07 17:30:15 · 144 阅读 · 0 评论 -
jdbc工具源码
连接管理类:package com.bai.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;/** * * <p>...原创 2018-06-19 10:51:37 · 402 阅读 · 0 评论 -
Java进阶之reflection(反射机制)——通过反射操作泛型,注解
一、反射操作泛型(Generic) Java采用泛型擦除机制来引入泛型。Java中的泛型仅仅是给编译器Javac使用的,确保数据的安全性和免去强制类型转换的麻烦。但是编译一旦完成,所有和泛型有关的类型全部被擦除。 为了通过反射操作这些类型以迎合实际开发的需要,Java新增了ParameterizedType,GenericArrayType,TypeVariable和WildcardType...转载 2018-06-19 18:29:44 · 268 阅读 · 0 评论 -
Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)
一:在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register)。 这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。 ------最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 堆栈(stack)。位于...转载 2018-08-02 11:00:05 · 120 阅读 · 0 评论 -
java8新的时间日期库及使用示例
java8引入了一套全新的时间日期API,本篇随笔将说明学习java8的这套API。java。time包中的是类是不可变且线程安全的。新的时间及日期API位于java.time中,下面是一些关键类●Instant——它代表的是时间戳●LocalDate——不包含具体时间的日期,比如2014-01-14。它可以用来存储生日,周年纪念日,入职日期等。●LocalTime——它代表...转载 2018-08-02 11:29:43 · 143 阅读 · 0 评论 -
java实现线程间通信
正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。本文涉及到的知识点: thread.join(), object.wait(), object.notify(), CountdownLatch, CyclicBarrier, FutureTask, ...转载 2018-10-10 09:16:23 · 112 阅读 · 0 评论 -
java集合的copy
java拷贝集合的方法有很多种,常用的比较简单的做法有两种:直接使用集合构造方法实现浅拷贝:(这种方法只是保证list和listCopy的引用不一样,但是集合元素的引用时一样的)List<String> list = new ArrayList<>();list.add("a");list.add("b");List<String> listC...原创 2018-11-29 15:55:41 · 6226 阅读 · 0 评论 -
java实现简单的消息队列模型(BIO)
本实例主要模拟一个一对一的消息队列处理:声明队列:package com.bai.testbio;import java.util.LinkedList;public class JmsBuffer { // 队列 最大存储量 private final static int MAX_SIZE = 2; // 消息队列 private static LinkedList...原创 2018-11-29 16:01:56 · 592 阅读 · 0 评论 -
Java 发送POST/GET请求
GET请求:GET请求会向服务器发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。post请求:POST是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请...转载 2018-05-31 14:50:22 · 199 阅读 · 0 评论 -
java form表单提交之文件上传
package com.woniuxy.learn.util;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.util.List;import java.util....原创 2018-05-29 16:43:28 · 4338 阅读 · 0 评论 -
Java代码级性能优化
优化代码的目标:1、减小代码的体积2、提高代码运行的效率代码优化细节1、尽量用指定类、方法的final修饰符2、尽量重用对象(String尽量用StringBuffer或StringBuilder代替)3、尽可能使用局部变量4、计时关闭流5、尽量减少对变量的重复计算(如:for循环里面判断条件尽量是定值而不是要每次计算的)6、尽量使用懒加载策略,即在需要的时候再创建(不太理解)7、慎用异常(减少消...转载 2018-03-28 09:12:55 · 182 阅读 · 0 评论 -
Java中数组、list、set互相转换
数组转list:(注意当是int[]类型(基本数据类型数组)的数组是无法用改方法转换的)String[] staffs = new String[]{"Tom", "Bob", "Jane"};List staffsList = Arrays.asList(staffs);list转数组:(需要注意的是, Arrays.asList() 返回一个受指定数组决定的固定大小的列表。所以不能做 add...转载 2018-03-28 17:58:01 · 450 阅读 · 0 评论 -
Java定时任务
package test;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class test { public static void main(String[] args) { //1. schedule(TimerTask task, long delay) 延迟...原创 2018-04-17 10:54:39 · 147 阅读 · 0 评论 -
Map集合遍历的四种方式理解和简单使用
~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值1:无非就是通过map.keySet()获取到值,然后根据键获取到值 for(String s:map.keySet()){ System.out.println("key : "+s+" value : "+map.get(s)); }2:通过Map.Entry(S...转载 2018-04-11 18:54:08 · 151 阅读 · 0 评论 -
MethodHandle简单使用
原文来自:fair-jm.iteye.com 转截请注明出处 最近看了一些MethodHandle的使用 东西很杂 七拼八凑 有一些自己的理解可能有错误因为是七拼八凑的 一些来源我已经记不清楚了...以下买标注哪里的主要来自于《深入理解java7》的迷你书 还有小部分是API或者网上其他的文章中的 http://www.jdon.com/idea/java/invokedynamic.html ...转载 2018-04-18 10:36:57 · 700 阅读 · 0 评论 -
Java的三种代理模式
代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法.举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,...转载 2018-05-02 12:02:19 · 107 阅读 · 0 评论 -
java中的集合和数组
数组Array和集合的区别: (1)数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) (2)JAVA集合可以存储和操作数目不固定的一组数据。 (3)若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。 联系:使用相应的toArray()和Arrays.asList()方法可以回想转换。 一.集合的体系结构: List、Se...转载 2018-05-09 09:19:18 · 241 阅读 · 0 评论 -
java String试题
/*字符串不属于基本类型,但是可以像基本类型一样,直接通过字面量赋值, * 当然也可以通过new来生成一个字符串对象。不过通过字面量赋值的方式和new的方式生成字符串有本质的区别: * 通过字面量赋值创建字符串时,会优先在常量池中查找是否已经存在相同的字符串,倘若已经存在, * 栈中的引用直接指向该字符串;倘若不存在,则在常量池中生成一个字符串,再将...原创 2018-05-09 10:39:29 · 203 阅读 · 0 评论 -
java开启新线程的三种方法
见:http://blog.youkuaiyun.com/caidie_huang/article/details/52748460见:http://blog.youkuaiyun.com/typename/article/details/7212512见:https://blog.youkuaiyun.com/jiangyu1013/article/details/58585289方式1:继承Thread类步骤:1):定义一个类A...转载 2018-05-09 14:39:38 · 2200 阅读 · 1 评论 -
java 安全加密api(cipher,signature,mac...)
前言本文主要讲解常用加密算法,消息摘要,二进制字符变换等的java实现,对于加密算法本身的原理只会做简单的介绍,详细的原理可百度。相关概念加密加密是指将可读取的明文作为输入,通过特定的变换操作得到不易读取的输出(通常是二进制序列),目前常用的加密算法包括对称加密的AES/DES,非对称加密的RSA/DSA/EC,加密很重要的一点就是解密,无论多复杂的数学变换,一定可以通过相应...转载 2019-09-19 10:53:50 · 755 阅读 · 0 评论