
【JavaEE】
陶洲川
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Java】AOP面向切面写一个日志拦截器
一、问题1.1、环境电脑环境:Windows 10;开发工具:IntelliJ IDEA;数据库环境:Redis 3.2.100JDK环境: Jdk1.8;1.2、问题因为我想看每个请求过来的入参和出参,所以结合 SpringBoot 的AOP(面向切面编程)写了一个日志打印的方法;那么具体是如何实现的呢?二、解答1.jar包依赖,下面这3个依赖包是切面功能实现的必要条件; <!-- 面向切面 added by Taozhouchuan at 2020-8-3 1原创 2020-08-05 13:48:30 · 782 阅读 · 0 评论 -
【Java】关于ByteArrayOutputStream的源码分析
一、问题1.1、环境电脑环境:Windows 10;开发工具:IntelliJ IDEA;数据库环境:Redis 3.2.100JDK环境: Jdk1.8;1.2、问题ByteArrayOutputStream 是经常用到的字符数组输出流,下面我们就来分析一下该类;JDK 1.8的 ByteArrayOutputStream 源码请见附录;二、解答1、概述ByteArrayOutputStream 实现了OutputStream类,这个缓冲数据,会自动根据写入的数据而增长;数组里的数据还原创 2020-07-27 19:48:37 · 835 阅读 · 0 评论 -
【Java】如何根据图片的网络url,下载图片,并base64加密
一、问题1.1、环境电脑环境:Windows 10;开发工具:IntelliJ IDEA;JDK环境: Jdk1.8;1.2、问题我们在开发过程中,会进场要将网络上的图片资源,下载下来,经过base64编码之后,再将编码后的资源保存下来,或者存储起来,或者交给下游处理;那么该如何实现呢?二、解答着急的朋友可以直接拿源码,这里我使用了一个base64的编码附录如下:package com.demo.platform.utils;import sun.misc.BASE64Encoder;原创 2020-08-05 10:29:14 · 2083 阅读 · 7 评论 -
【Java】异步线程的返回封装接口Function
一、问题1.1、环境电脑环境:Windows 10;开发工具:IntelliJ IDEA;数据库环境:Redis 3.2.100JDK环境: Jdk1.8;1.2、问题Future,是异步线程调用的返回值容器接口,可以封装自己想反悔的实体类;一般你再main方法里写了一个异步调用的线程任务,表面上,它会很快就执行完了,实际上,后台任然在执行;就好比:你在楼下玩耍,你妈在楼上让你回家吃...原创 2020-03-27 20:12:55 · 689 阅读 · 0 评论 -
【Java】如何在Java中使用Redis
一、问题1.1、环境电脑环境:Windows 10;开发工具:IntelliJ IDEA;数据库环境:Redis 3.2.100JDK环境: Jdk1.8;1.2、问题如何在Java中使用Redis非关系型数据库?二、解答redis是一个高性能的非关系数据库,在做数据缓存,高并发缓存中间件等方面有着非常搞笑的便捷的用途;下面就说下,如何在java中使用Redis;2.1.下载...原创 2020-03-27 18:30:52 · 1231 阅读 · 0 评论 -
【面试题】【Java】面试题4、ReentrantLock的公平锁与不公平锁;
一、问题1.1、环境电脑环境:Windows 10;开发工具:IntelliJ IDEA 2017.2.4;JDK环境: Jdk1.8;Maven环境:Maven3.5.0;1.2、问题我们知道ReentrantLock具有手动上锁,手动解锁的功能;但是ReentrantLock的公平锁和不公平锁是什么意思?二、解答2.1、基本知识;ReentrantLock构造函数里有tru...原创 2020-03-07 12:54:37 · 1120 阅读 · 0 评论 -
【面试题】【Java】面试题2、单线程与多线程;
本文主要回答3个问题:是什么,为什么,怎么弄?1、线程是什么?附一段【百度百科】的介绍:线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight process...原创 2020-02-28 13:13:24 · 608 阅读 · 0 评论 -
【Java】工具类,如何将匈牙利命名法转换成驼峰命名法
一、概念介绍1.1、匈牙利命名法:user_id,字母均小写,不同单词间用下划线分割; 1.2、驼峰命名法:userId,除了第一个单词的首字母小写,其余单词的首字母均大写,单词之间没有符号,仅仅通过单词首字母的大小写区分; 1.3、帕斯卡命名法:UserId,所有单词的首字母均大写;二、问题如何将匈牙利命名法转换成驼峰命名法?三、思路这里有好几种方法,这里介绍一种...原创 2018-07-16 14:24:40 · 2181 阅读 · 0 评论 -
【JAVA】计算题
一、题目给定一个数字,T,接着又T行,每行3个数字,求每行3个数字能否通过加减乘除最终结果计算为0,不允许使用括号;如果可以计算为0,则输出YES,否则输出为NO。1.1、样例 3 123 345 7891.2、输出结果: YES NO NO二、代码 2.1、定义一个实体类package com;import jav...原创 2018-06-30 00:08:33 · 691 阅读 · 0 评论 -
【Math】三角函数在Java中是怎么表示的?
一、问题三角函数在Java中是怎么表示的?二、解答1、首先来看一下,Java中的Math怎么表示30°角的弧度制,这里Math中有一个常量PI,就是π; 我们知道sin30°=0.5;Java中却是近似值: 2、我们采取近似值,保留2位小数,采用四舍五入进位模式,即 RoundingMode.HALF_UP,达到了一半就进位; 这里的“一半”是当前进制下,目...原创 2018-06-10 01:28:10 · 10903 阅读 · 2 评论 -
【JavaEE】BigDecimal中divide,被除数不能为0。java.lang.ArithmeticException: / by zero
被除数不能为0,是我们知道的常识 所以得加校验,用==或者!=可以么? 所以,使用equals才是正确的原创 2018-05-30 13:39:22 · 16344 阅读 · 6 评论 -
【Java】BigDecimal中的divide方法报错,Exception in thread "main" java.lang.ArithmeticException:
一、问题在使用BigDecimal做除法时,报错如下: Exception in thread “main” java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.二、解决办法:三、原因1、d...原创 2018-05-29 20:58:27 · 3370 阅读 · 0 评论 -
【Java】三种方式实现统计字符串中字母,数字,空格和其它类型的数量
1、问题统计一个字符串中的字母,数字,空格(含多种)和其它类型字符的数量;2、解答import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.regex.Matcher;import java.util.regex.P...原创 2018-03-23 14:40:34 · 11426 阅读 · 0 评论 -
【Spring】Spring配置文件简单解析
一个标准的Spring配置文件applicationContext.xml应该包含的基本组成部分如下:0、框架配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3...原创 2018-03-09 11:14:18 · 1867 阅读 · 0 评论 -
【Spring】Spring控制反转IOC创建bean失败-java.io.FileNotFoundException
一、起因今天用spring创建对象,指定了ClassPathXmlApplicationContext的路径,明明就有,为什么会报错找不到xml文件呢,很费解;报错如下:目前未能解决,求大神指点IOException parsing XML document from class path resource [springTest/applicationContexts.xml]; n原创 2018-01-16 00:17:02 · 1332 阅读 · 0 评论 -
【Java】java.lang.String类源代码翻译及解析1
String类表示一个字符串(character strings)。Java programs中的所有的string字母,像”abc”,都是作为该类的实例来实现的;Strings是一个恒定的,不变的;在被创建后,他们的值不允许被改变;String buffers支持值可变的strings;因为String对象是不可变的,所以他们可以被共享;例如String str="abc";翻译 2018-01-31 20:36:11 · 1294 阅读 · 2 评论 -
【Java】如何将文字内容输出到文件
一、问题如何将文字写到文件(file)中,并以文件的形式保存下来;二、分析1、首先,我们要有文件内容,这个好办,随便你写;2、文件写好要保存在哪里,这个要告诉系统,不然你让他保存,又不给他一个合理的地方,他会无所适从;3、我们需要把文件的内容,以流的形式放到文件中;让系统使用输出流将内容输出到文件里,这里不是输入流,我们要以系统为核心,而不是以文件为核心;三、解决String pat...原创 2019-03-20 09:38:15 · 12275 阅读 · 3 评论 -
【Java】多线程简介
一、概述【进程】:Process,是操作系统中执行的一个【子程序】,我们用在电脑【任务管理器】中看到的就是进程,包含3部分:虚拟CPU,代码,数据;【线程】:Thread,在同一个进程当中执行的子程序流;一般来讲,一个进程可以包含多个线程;我们在java中经常采取的策略就是多线程调用;二、详解【线程】与【进程】的区别1.【进程】有独立的进程空间,独立性较强,就像是家庭,一个家庭的成员可...原创 2019-03-25 10:54:20 · 214 阅读 · 0 评论 -
【Java】泛型(二)
一、问题Think in Java 中有一个很经典的讲泛型的例子,下面我们就来分析一下:package com.caliper.body.service;import com.caliper.body.domain.*;import net.mindview.util.Generator;import java.util.Iterator;import java.util.Ran...原创 2019-05-09 17:20:22 · 266 阅读 · 0 评论 -
【Java】net.mindview.util.jar下载地址,免费;
一、问题Think in Java书中有个net.mindview.util.jar下载jar包,用于给初学者使用的,但是很难下载到,IDEA Intellij 里也找不到对应的jar包;二、解决大家有需要的可以到该地址下下载;https://github.com/taozhouchuan/ancientSoftware...原创 2019-05-09 14:53:51 · 1470 阅读 · 0 评论 -
【Java】超简单理解线程,多线程,线程池实例,干货
一、问题什么是线程,什么是多线程,多线程如何使用?二、解析众所周知,实现多线程有两种方式,一个是继承Thread类,另一个是实现Runnable接口;请见代码:1.线程;①、代码 public static void main(String[] args) { Thread thread = new Thread(new Runnable() { ...原创 2019-05-06 15:13:44 · 949 阅读 · 0 评论 -
【Java】线程Queue源代码解析;
一、问题线程Queue中有哪些方法?需要注意什么?二、分析1.队列是为了存储优先执行顺序而设计的集合;除此之外,基本的操作,队列提供额外的插入,取出,检查操作。任何方法以2种形式存在:1.如果操作失败,抛出异常;2.返回特殊值(如null,false);后者是为了插入操作容量限制而特别设计的实现类;在大多数实现类中,插入操作不允许失败;2.队列基本上,但是非必须,以先进先出的方式(FIFO...原创 2019-05-06 11:04:58 · 256 阅读 · 0 评论 -
【Java】泛型
一、问题泛型者,前期不定,后期确定的参数类型者也;在我们处理参数类型比较多的时候,可以抽象成一个模糊的类型,这个类型在没有传参之前是模糊的,但是一旦传值了,就不能再改变参数的类型了,只能使用之前传的参数类型;二、举例1.理解概念;先看下面的一个例子;我们创建了一个汽车对象,汽车内可以装各种类型的参数,这个可以用来类比泛型的原理;/** * @author Auther * @titl...原创 2019-05-08 18:01:43 · 250 阅读 · 0 评论 -
【Java】关于catch和throw 方法差异——Exception的一些总结
一、问题最近,简单研究了下Exception的一些问题,现总结如下;二、分析首先,我想说的是,catch异常和throw异常;throw是抛出异常,往哪里抛?往上层抛。上层是哪里?哪个调用我的这个方法,我就抛给谁;catch是方法内抓取异常,然后处理;当然,处理的方法,也包含往上抛,或者说往外抛;我们先来看一段代码:import org.junit.Test;import jav...原创 2019-03-27 10:43:29 · 3115 阅读 · 0 评论 -
【Java】【翻译】HashMap源代码解析(一)
一、问题下面是面试HashMap常见的一些问题,今天着重讲讲HashMap的一些底层知识;1、HashMap、HashTable、ConcurrentHashMap的区别是什么?2、哪几个参数比较重要?3、HashMap触发Resize操作后通过位运算来减少时间开销的大致流程是怎样的?4、JDK的迭代过程中对HashMap的元素存储进行了结构上的优化,其存储方式与查询时间的复杂度如何?...翻译 2019-04-04 15:23:19 · 585 阅读 · 0 评论 -
【Java】Java VisualVM初探——【本地】
一、问题经同事介绍,开始了解到Java VisualVM这个java自带的java运行监控管理工具;现在开始研究下它;二、详解首先,进入首页我们能看到这个图很遗憾,这里好多链接已经失效,点击效果图如下:然后我们点击左边的菜单【本地】-IntelliJ Platfrom(pid ***)这里,是该工具自动搜索到你本地使用的一些java的软件信息,例如我用的是IntelliJ Idea...原创 2019-03-26 14:01:48 · 1842 阅读 · 0 评论 -
【Java】如何自定义注解
一、问题在实体类中,如何通过标签校验必输字段,字段长度,是否必输等过滤条件?二、分析1.自定义注解(annotation)像@Autowired自动织入标签等,都是通过标签,让编译器在编译过程中,自动做一些解析操作,我们可以通过这一机制,让编译器自动为我们做一些动作;首先,我们来看一些如何自定义标签:import java.lang.annotation.ElementType;imp...原创 2019-03-18 20:06:45 · 493 阅读 · 0 评论 -
【Java】在一个字符串指定位置插入字符串
四、更新更新时间:2017年12月8日01:51:24 下面的方法有一个问题,是我刚才没有考虑到的问题,就是下面的方法只适用于一次操作,如果两次操作会有问题,什么问题呢,就是你第一次插入之后,Stringbuilder里面的index就被扰乱了啊,就像一个脑经急转弯:一个人不能空腹吃两个香蕉,因为他吃完第一根香蕉的时候,就不是空腹了; 这里涉及: ①插入后,新旧index冲突问题; ②使用集原创 2017-12-07 23:29:37 · 47064 阅读 · 4 评论 -
【Java】Java程序报错:EXCEPTION_ACCESS_VIOLATION (0xc0000005)
运行Java程序的时候,报错:EXCEPTION_ACCESS_VIOLATION (0xc0000005); 根据原网页的说明: EXCEPTION_ACCESS_VIOLATIONIn rare circumstances, a Java program could stop with a message similar to the following: An unexpected er原创 2017-12-25 13:24:38 · 34273 阅读 · 0 评论 -
【JavaEE】邮箱附件下载(whitelabel Error Page)
1.问题最近在做邮箱里面的附件下载,搞得是头昏脑胀,现在把遇到的困难总结下;2.源代码public EmailDetail selectEmailReceivedDetail(String mid, OtherSystemConfig otherSystemConfig,Integer fid){ EmailLogin emailLogin = new EmailLogin();//原创 2017-08-01 20:17:56 · 685 阅读 · 0 评论 -
【Map】Map集合的遍历:
1.问题: Map集合的遍历: 2.源代码: (拷贝可直接运行,建议自己敲一遍)public class MapForeach { public static void main(String[] args) { Map<String,String> map=new HashMap<String,String>(); map.put("1","A");原创 2017-07-18 20:24:38 · 385 阅读 · 0 评论 -
【Cookie】如何查询某个网站给你的Cookie?
1.问题: 如何查询某个网站给你的Cookie? 2.源代码: {Javascript:alert(document.cookie)} 3.截图: 4.总结: 如果报错,很可能是: ①你是复制粘贴我的代码的,建议自己敲一下,不然会带有页面自带的格式,空格什么的; ②先抹去原来的地址栏,回车清空,然后再输入; ③输入完javascript:alert(document.cooki原创 2017-07-18 18:24:20 · 3261 阅读 · 0 评论 -
【Exception】Address already in use:bind;程序无法正常启动;Tomcat
1.问题:BindException:Address Already in use; Failed to start connector; Address Already in use:bind; EmbeddedServletContainerExcepiton:Unable to start embedder Tomcat servlet container; IllegalStateE原创 2017-07-07 18:11:23 · 770 阅读 · 0 评论 -
【JSON】JSON格式解析的基本原理
1.大JSON里面套小JSON怎么解析;我的大JSON里面套了一个小JSON,如下:var:{html{id:1,contentType:"text/html",contentLength:187,encoding:"",contentOffset:0,estimateSize:0,content:***}}首先,我们要建立一个实体类来对应网页里面的JSON对象,实体对象名为html,对象的各原创 2017-07-20 15:19:37 · 1291 阅读 · 0 评论 -
【Java】字符串截取split
1.问题:字符串怎么按照其中的周期性关键字符截取?2.源代码:public class TestSplit { public static void main(String[] args) { String str="123@ABC"; String strings[]=str.split("@");//以什么为分割符号来截取,这里用的‘@’ /原创 2017-06-28 14:24:42 · 1006 阅读 · 0 评论 -
【Java】今天想到一个很傻的问题
1.问题:为什么有点调用(‘.’)方法和赋值号赋值方法(‘=’),为什么还有get和set方法?2.源代码:public class TestDemo5 { public static void main(String[] args) { Pollution p= new Pollution(); p.setPI_NO2("1000"); Sys原创 2017-06-25 10:49:17 · 886 阅读 · 2 评论 -
【Jsoup】URL地址解析
1.问题:怎么样解析URL地址?2.源代码:package com.fxrj.email.test;import com.platform.common.constants.OtherSystemBingdingUrl;import com.platform.common.exception.HttpConnectException;import com.platform.http.Reques原创 2017-07-03 11:09:07 · 3119 阅读 · 0 评论 -
【Date】时间戳转化成Date时间格式处理
1.问题:如何把时间戳变成Date格式,或者易读的String仿时间格式?2.源代码:public class Test { public static void main(String[] args) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");/*简单格式原创 2017-06-27 15:19:24 · 3475 阅读 · 0 评论 -
【XML】将String格式的XML文件转化成JAVA实体类
1.问题:如何将String类型的XML转化成JAVA实体类?2.源代码:public class TestXML { @SuppressWarnings("unchecked") public static void main(String[] args) { String xmlStr="<object>\n" + " <int原创 2017-06-30 19:52:53 · 2784 阅读 · 0 评论 -
【数组】判断数组为空还是长度为0好?
1.问题:判断数组为空还是长度为0好2.源代码:public class TestArray { public static void main(String[] args) { int b[]=null; int a[] = new int [10]; /*1、打印*/ System.out.println("a数组的长度:"+原创 2017-06-30 14:21:06 · 5803 阅读 · 2 评论