
java
文章平均质量分 76
奋斗的小虾米
喜欢看书,旅游,打游戏,看电影,看动漫,写技术文,专研技术,偶尔深夜还会追剧。
展开
-
面试题收集——Java基础部分(一)
面试题收集原创 2023-10-24 11:18:18 · 274 阅读 · 0 评论 -
数据结构:八大数据结构分类
本文目录:数据结构分类 1、数组 2、栈 3、队列 4、链表 5、树 6、散列表 7、堆 8、图数据结构分类数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示:每一种数据结构都有着独特的数据存储方式,下面为大家介绍它们的结构和优缺点。1、数组数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下..转载 2020-11-19 16:57:30 · 265 阅读 · 0 评论 -
求平均值,最大最小值的控制台程序
结合平均数,最大最小值,累加的一些简单的控制台输入程序,请看下图:实现代码:package com.bdqn.demo;import java.util.Arrays;import java.util.LinkedList;import java.util.Scanner;public class Test { public static void main(String[] args) { Scanner input = new Scanner(System.in);.原创 2020-07-07 11:07:13 · 588 阅读 · 0 评论 -
经典面试题|讲一讲JVM的组成
JVM(Java 虚拟机)算是面试必问的问题的了,而但凡问 JVM 一定会问的第一个问题就是:讲一讲 JVM 的组成?那本文就注重讲一下 JVM 的组成。首先来说 JVM 的组成分为,整体组成部分和运行时数据区组成部分,一般开发者关注的和面试官问的都是后者,但本文会详细讲解以上两个组成部分。一、JVM 整体组成JVM 整体组成可分为以下四个部分: 类加载器(ClassLoader) 运行时数据区(Runtime Data Area) 执行引擎(Execution Eng原创 2020-07-04 09:35:26 · 183 阅读 · 0 评论 -
【Java】如何清空Map
在开发中在使用Map时,如果需要将Map作为临时的数据存储和处理,可以不用每次都去新建一个Map,可以使用clear方法来进行清空Map。例如:Map<String, Object> map = new HashMap<>();map.put("test", "demo");System.out.print(map);// Clear mapmap.clear();System.out.print(map)两次的输出结果是:{"test": "demo"原创 2020-07-03 15:15:20 · 4998 阅读 · 2 评论 -
9个小技巧让你的 if else看起来更优雅
9个小技巧让你的 if else看起来更优雅if else 是我们写代码时,使用频率最高的关键词之一,然而有时过多的 if else 会让我们感到脑壳疼,例如下面这个伪代码:是不是很奔溃?虽然他是伪代码,并且看起来也很夸张,但在现实中,当我们无数次 review 别人代码时,都会发现类似的场景,那么我们本文就来详细聊聊,有没有什么方法可以让我们避免来写这么多的 if else 呢?我们本文提供了 9 种方法来解决掉那些“烦人”的 if else,一起来看吧。1.使用 return我们使用.原创 2020-07-03 14:02:14 · 12317 阅读 · 78 评论 -
分享一段Java搞笑的代码注释
分享一段Java搞笑的代码注释今天在群里看到有人分享了一段搞笑的注释代码,觉得挺好玩的,在这里收藏一下// _ooOoo_// o8888888o// 88" . "88// (| -_- |)// O\ = /O//原创 2020-06-19 13:55:13 · 637 阅读 · 0 评论 -
启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099的解决办法
启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099的解决办法一.问题描述 今天一来公司,在IntelliJ IDEA 中启动Tomcat服务器时就出现了如下图所示的错误: 错误:代理抛出异常错误: java.rmi.server.ExportException:...原创 2020-05-08 10:16:39 · 207 阅读 · 0 评论 -
java 如何保证接口的安全性
在开发过程中,肯定会有和第三方或者app端的接口调用。在调用的时候,如何来保证非法链接或者恶意攻击呢?1.签名 根据用户名或者用户id,结合用户的ip或者设备号,生成一个token。在请求后台,后台获取http的head中的token,校验是否合法(和数据库或者Redis中记录的是否一致,在登录或者初始化的时候,存入数据库/redis)在使用Base64方式的编码后,Tok...原创 2020-05-07 15:06:41 · 1246 阅读 · 0 评论 -
两年Java开发工作经验面试总结
2年Java开发工作经验面试总结最近换了个公司,从二月底开始面,面到三月底,面了有快二五十家公司。我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些问题是自己之前没遇到过的,或者是哪个知识点今天又问了等等。三月中旬的时候,我就在构思要写一篇面经,主要是想着可能对那些跟我相同处境的人有点帮助,再者就是稍微记录下这为期一个月的面试过程。个人介...转载 2020-11-20 16:17:46 · 6822 阅读 · 30 评论 -
微服务是什么,SpringBoot和SpringCloud的关系和区别
微服务是什么,SpringBoot和SpringCloud的关系和区别转载超级无敌皮皮超最后发布于2019-06-04 11:10:40阅读数 4970收藏展开微服务是什么? 就目前而言对于微服务业界没有一个统一的,标准的定义.但通常而言,微服务是一种架构模式或者说是一种架构风格, 它提倡单一应用程序划分为一组小的服务,每个服务在其独立的自己的进程中,服...原创 2020-04-08 11:53:57 · 1013 阅读 · 0 评论 -
Java中Iterator用法
Java中Iterator用法迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。 Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的n...原创 2020-04-08 11:41:58 · 259 阅读 · 0 评论 -
session cookie OAuth2.0 加密算法分类和常用的算法
session cookie OAuth2.0 加密算法分类和常用的算法session和cookie1. 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个...原创 2020-03-13 14:20:35 · 831 阅读 · 0 评论 -
利用redis实现分布式事务锁,解决高并发环境下库存扣减
利用redis实现分布式事务锁,解决高并发环境下库存扣减问题描述:某电商平台,首发一款新品手机,每人限购2台,预计会有10W的并发,在该情况下,如果扣减库存,保证不会超卖解决方案一利用数据库锁机制,对记录进行锁定,再进行操作SELECT * from goods where ID =1 for update;UPDATE goods set stock = stock - 1;...原创 2020-03-13 13:58:15 · 2067 阅读 · 4 评论 -
为什么使用消息队列?消息对列有什么好处?
为什么使用消息队列?消息对列有什么好处?面试题为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?面试官心理分析其实面试官主要是想看看: 第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己项目里用了 Redis、MQ,但是其实他并不知道自己为什么要用这个...原创 2020-03-13 13:28:18 · 133 阅读 · 0 评论 -
常用集合类简介及线程安全和非线程安全的集合对象
常用集合类简介及线程安全和非线程安全的集合对象简介Java中集合类有很多,只介绍常用的集合类: 线程安全和非线程安全的集合对象一、概念:线程安全:就是当多线程访问时,采用了加锁的机制;即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读取完之后,其他线程才可以使用。防止出现数据不一致或者数据被污染的情况。 线程不安全:就是...原创 2020-03-08 10:29:20 · 1208 阅读 · 0 评论 -
Java开发常用的几个注解
Java开发常用的几个注解Java开发常用的注解有@Mapper @Repository(持久层)、@Service(业务层)、@Controller (控制层)和 @Component(其它),以及@Autowired和@Resource@Mapper从mybatis3.4.0开始加入了@Mapper注解,添加@Mapper注解的接口生成一个实现类,目的就是为了不再写mapper映...原创 2020-03-07 14:55:11 · 1040 阅读 · 10 评论 -
接口和抽象类有什么区别?
接口和抽象类的相同点和不同点接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类是什么:抽象类不能创建实例,它只能作为父类被继承。抽象类是从多个具体类中抽象出来的父类,它具有更高层次的抽象。从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为其子类的模板,从而避免了子类的随意性。(1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法(2...原创 2020-02-14 15:52:09 · 222 阅读 · 0 评论 -
JAVA设计模式总结之23种设计模式
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两...原创 2019-11-04 13:54:50 · 226 阅读 · 0 评论 -
java 获取当前时间的三种方法
1.通过Util包中的Date获取Date date = new Date();SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss");System.out.println(dateFormat.format(date));2.通过Util包的Calendar 获取Calendar c...原创 2019-11-04 13:41:02 · 222 阅读 · 0 评论 -
Java遍历Map的4种方式
public static void main(String[] args) { // 循环遍历Map的4中方法 Map<Integer, Integer> map = new HashMap<Integer, Integer>(); map.put(1, 2); // 1. entrySet遍历,在键和值...原创 2019-11-04 13:36:23 · 182 阅读 · 0 评论 -
Java中遍历Set集合的方法
对 set 的遍历 1.迭代遍历: Set<String> set = new HashSet<String>(); Iterator<String> it = set.iterator(); while (it.hasNext()) { String str = it.next(); System.out.println...原创 2019-11-04 13:34:37 · 296 阅读 · 0 评论 -
Java遍历List集合的4种方式
public class Test { public static void main(String[] args) { // 循环遍历List的4中方法 List<String> strList = new ArrayList<>(); strList.add("aaa"); strList.ad...原创 2019-11-04 11:45:56 · 1105 阅读 · 2 评论 -
紧急整理了 20 道 Spring Boot 面试题,我经常拿来面试别人!
面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望。下面,我给大家总结下有哪些 Spring Boot 的面试题,这是我经常拿来问面试者的,希望对你有帮助。1、什么是 Spring Boot?Spring Boot 是 Spring 开源组织下的子项目,是...转载 2019-10-14 10:35:34 · 288 阅读 · 0 评论 -
Java时间和时间戳的相互转换
时间转换为时间戳: /* * 将时间转换为时间戳 */ public static String dateToStamp(String s) throws ParseException{ String res; SimpleDateFormat simpleDateFormat = new SimpleDateFormat...原创 2019-10-12 17:17:07 · 94 阅读 · 0 评论 -
java中,使用泛型方法,如何比较大小
1.题意,怎样根据传入的泛型数组比较最大最小值,数组的类型可以是int型,可以是String型,也可以是double型。。。首先要定义一个泛型类,定义泛型T,存储咱们的最大值最小值,提供公开的方法,重载构造函数,存储咱们的最大最小值;package demo.com.fanxing;public class Num<T> { //定义最大最小值 public T max...原创 2019-07-23 17:16:23 · 5447 阅读 · 0 评论 -
大前端(全栈)学习路线指南
大前端(全栈)学习路线指南个人分类: 前端 第一部分:前端页面重构一:pc端网站布局项目html基础,css基础,css核心属性css样式层叠,继承,盒模型容器,溢出及元素类型浏览器兼容与宽高自适应定位,锚点与透明图片整合表格,css属性与滤镜二:html5+css3基础项目html5新增元素与属性表单域增强元素css3选择器文字字体相关样式css3位移...转载 2018-09-14 20:10:29 · 810 阅读 · 0 评论 -
eclipse新建web项目
首先,你要先打开Eclipse软件,打开后在工具栏依次点击【File】>>>【New】>>>【Dynamic Web Project】,这个就代表新建的项目是WEB项目 提示:如果没有找到【Dynamic Web Project】请看下一步 如果我们找不到【Dynamic Web Project】这个选项,说明以前没有建立过WEB项目,所...原创 2019-08-12 16:46:02 · 251 阅读 · 0 评论 -
日期和字符串的相互转换
/** * 日期转换字符串 * @param date 日期 * @param type 显示格式 yyyy-MM-dd yyyy-MM-dd HH:mm:ss * String returnvalue = UtilClass.DateToString(this.Startdatetest.getValue(), "yyyy-MM-d...原创 2019-05-29 11:54:30 · 1052 阅读 · 0 评论 -
JAVA中自定义日志输出到指定文件
创建一个类,以便调用方法,类名自定义,我这里定义类名是: WrittenLog1.定义一个固定的路径:private static final String fileXml = "C:/Users/zhangjie/Desktop/loger/loger";2.定义一个字符串写入的方法,其中有两个参数,一个是绝对路径(fileXml),一个是传入的字段串(context)imp...原创 2019-05-24 15:59:46 · 3900 阅读 · 0 评论 -
Java多线程和高并发
什么是线程,什么是进程:线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。进程是正在运行的程序的实例,或者:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。 一、Java线程的周期:五个基本状态 线...转载 2019-02-17 18:38:44 · 428 阅读 · 0 评论 -
程序菜鸟的填坑之路
我是一名用java的菜鸟级别的编程人员,严格意义来说,只是一个写代码的,算不上真正的程序员。一年半的经历告诉了我一个事实,你想要靠别人带你走上这条路,不如想想别的出路。这是一条孤独,寂寞的乡野小路,当你一天天的开辟出一条通往大道的小路时,你回头会发现,你收获的和你付出的不一定成正比,这不是危言耸听,这是铁一般的事情。 开始的我的以为只要自己付出点时间,工作认真一点就能学到东...原创 2019-02-17 18:35:58 · 312 阅读 · 0 评论 -
Java注解全面总结
1. 简介注解在Java开发中扮演很重要的角色,特别在一些框架或开源库中可以看到大量注解的运用,如果对注解不够熟悉,那么阅读这些框架或开源库的代码也是十分艰难的。本篇文章将从基本概念、常用注解及自定义注解三个方面来对注解进行一次全面总结,其实也是自己在深入学习注解过程中的一些心得,希望对想了解Java注解的学者有所帮助。2. 基本概念2.1 什么是注解官方给予的解释是:A...转载 2018-09-14 20:09:04 · 177 阅读 · 0 评论 -
JAVA实现文件ZIP压缩并解决中文文件名乱码问题
一、文件压缩的中文乱码问题1、中文文件名的乱码解决对于压缩的文件,当文件名称是中文时,若使用JDK API中自带的类(java.util.zip.ZipEntry; java.util.zip.ZipOutputStream;)进行压缩,压缩完成后,可以看到压缩包中的文件名称是乱码(文件的内容无乱码问题)。此时只要用ANT中的ant.jar中的类(org.apache.tools.zip....转载 2018-09-14 20:05:01 · 3577 阅读 · 2 评论 -
有关Java反射的使用看这一篇就够了
1. 简介本篇文章不探讨反射的实现机制或者说实现原理,仅仅从使用的角度去讲解我们常用的一些API接口,方便自己以后需要使用时信手拈来,同时也方便广大博友能够快速了解API的使用。什么是反射?反射是java语言的一个特性,它允许一个java的类获取他所有的成员变量和方法并且显示出来,这样说起来有些抽象,例如我们可以通过反射去实例化一个对象,并不非得使用new这个关键字来实例化,同时我们...转载 2018-09-14 20:02:31 · 230 阅读 · 0 评论 -
eclipse的使用小技能
eclipse的使用小技能文章来源:http://blog.youkuaiyun.com/ljfbest/article/details/7465003 关于eclipse的使用方面,其实有些东西都是小技巧的东西。知道了这些Eclipse常用技巧后,对编程会带来很大的方便。一.老是使用鼠标操作,有的功能要点好多次鼠标,eclipse热键都有哪些呢? 热键是Eclipse常用技巧中最常见的一个了...转载 2018-07-16 14:21:22 · 263 阅读 · 0 评论 -
MyEclipse配置JDK的具体步骤
MyEclipse在更换工作空间或者第一次使用时,都需要配置JDK,下面是MyEclipse配置JDK的具体步骤。工具/原料MyEclipse与JDK。配置步骤与配图。方法/步骤第一步:选择菜单栏中的window----再选择Preference,具体如下方所示:第二步:在弹出的对话框中选择Java----》双击Install JREs,在右边的框中,点击【Add...】按钮----》OK第三步...原创 2018-07-16 14:19:21 · 28656 阅读 · 2 评论 -
MD5加密
新建一个MD5Util类package com.demo.car;import java.math.BigInteger;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/** * @author 杰 * @category MD5Util * @version ...原创 2019-06-01 15:04:21 · 511 阅读 · 0 评论 -
base64编码字符串和图片的互转
新建一个Base64ImageUtils类package com.demo.test;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;i...原创 2019-06-01 15:12:04 · 1639 阅读 · 0 评论 -
汉字转为拼音
创建一个拼音类PinYin,需要一个 pinyin4j-2.5.0.jar 包package com.demo.test;import java.util.HashMap;import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;i...原创 2019-06-01 15:30:10 · 547 阅读 · 0 评论