
Java初级
文章平均质量分 76
记录java开发的一路艰辛
行思坐忆,志凌云
务实北斗应用之星火,畅想北斗产品之燎原
展开
-
springmvc Required request body content is missing异常
原因:@RequestBody User user 传递的json为空。或者传递方式错误,使用表单方式提交。解决方式:使用json方式提交{ "username":"admin", "TBName":"U01", "beginDate":"2018-09-17 00:00", "endDate":"2018-09-18 00:原创 2018-10-25 14:43:57 · 785 阅读 · 0 评论 -
java.net.SocketTimeoutException: Read timed out,并报数据获取空值异常
**分析:**对于已经开发好的项目,之前运行没有问题,换了服务器之后突然报错,代码从逻辑上也没有错误。输出路径从服务器获取数据也没有问题。问题多半是出现在设置超时时间上了。urlConnection.setConnectTimeout(80000);//连接超时urlConnection.setReadTimeout(80000);//读操作超时将时间设置更长,测试通过!主要是数据量太大的...原创 2018-10-19 10:53:04 · 7072 阅读 · 0 评论 -
gson解析出现java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING
原因:映射实体类中属性类型不正确,不能为list类型public class FaultDataInfo { private String TB_NAME; private String EVENT_ID; private String EVENT_START_TIME; private String EVENT_END_TIME; private String EVENT_NAME...原创 2018-10-09 16:22:16 · 4283 阅读 · 0 评论 -
hashmap存入的数据与取出的数据顺序不一样的问题
hashmap的排序方式不是按照put一条记录时间的先后,所以输出的顺序自然不与put的顺序相同。解决办法:在程序中用LinkedHashMap代替HashMap。然后测试取出的顺序就可以查出put进行的顺序与查询的顺序相同了。...原创 2018-10-15 16:09:49 · 1304 阅读 · 0 评论 -
hashmap通过value获取key值
前言:此方法用于value值为唯一的情况。//根据value值获取到对应的一个key值 public static String getKey(LinkedHashMap<String,String> map,String value){ String key = null; //Map,HashMap并没有实现Iter...原创 2018-10-15 16:06:11 · 8679 阅读 · 0 评论 -
java将echart图表导出到Excel
在使用POI进行将数据导出到Excel时, 若要将eChart在前端生成的统计图(如柱状图、折线图、饼图等)一并导出,使用POI在后台构建数据图比较复杂,因此我选择将eChart在前端的统计图的base64编码作为参数传到后台,再到后台解析成图片插入Excel实现导出时附带统计图的效果,下面是我的部分代码,仅供参考。&...原创 2020-03-09 10:05:44 · 1577 阅读 · 2 评论 -
解决jfreechart柱状图x轴与y轴显示格式(y轴全部为0.00显示科学计数法)
问题解决:x轴与y轴的格式设置 //设置标题字体 TextTitle textTitle = chart.getTitle(); textTitle.setFont(new Font("黑体", Font.PLAIN, 20)); textTitle.setBackgroundPaint(Color.LIGHT_GRAY);//标题背景色 ...原创 2018-10-25 10:40:29 · 5000 阅读 · 0 评论 -
poi操作Excel高级格式处理(随项目更新)
前言:随着人们审美要求的提高,对于excel表格的格式也提出了相应的要求,针对每个项目模板的需求不同,excel所呈现的形式也是大相径庭。虽然我们为了方便维护管理,可以使用类似 **WindDistriButionReportToExcel extends ExportExcelBase2**泛型的方法简化操作。但是对于格式方面依据需要进行定制化处理。问题一:有多张图片的情况之下,两两图片并排...原创 2018-10-09 15:29:36 · 787 阅读 · 0 评论 -
poi操作excel涉及多个图片,列表,标题,摘要拼接组合问题
前言:在实际项目之中,特别是遇到报表管理模块,客户会要求,导出excel文件是动态的,其格式应该依据用户勾选条件而变化,比如有四个勾选项,勾选第一个选项显示一张图片,勾选第二个选项显示一张整体统计图,勾选第三个显示n张局部详细图,勾选第四个显示列表。那么问题来了: 1.前端如何传递勾选情况? 2.后台如何对勾选情况进行处理?问题1: 前端传递一个字符串到后台,以逗号分隔...原创 2018-10-09 15:00:26 · 625 阅读 · 0 评论 -
POI 设置Excel单元格背景色(setFillForegroundColor 与 setFillPattern 的使用)
背景介绍:使用Java开发信息系统项目,项目中往往会涉及到报表管理部分,而Excel表格首当其冲称为最合适的选择,但是对单元格操作时对于设置单元格的背景颜色却很少提及,本文旨在方便单元格背景颜色设计。操作:至于冗长的创建表格表格设置的代码相信大家都已经了解。直接进行单元格背景颜色设计。 // 创建一个 workbook 对象 Workbook workboo...原创 2018-09-18 17:03:05 · 63098 阅读 · 3 评论 -
java连接SqlServer2000
数据库操作现在是项目开发的根本,学习Java首先应该学会怎么样连接数据库,用Java连接数据库可不像用Delphi这类工具那样设几个属性就OK,说简单也简单,说复杂,其实也挺复杂的,而且很麻烦,如果是初学,根本不能保证第一次就连接成功,下面以SQL Server 2000为例,说说Java连接数据库的基本方法,也记录一下心得。 1、下载SQL Server 2000 driver for JDB...转载 2019-04-25 14:57:48 · 912 阅读 · 0 评论 -
5个开源免费的Java项目快速开发脚手架,Java程序员必备!
想要获取更多开源项目资源?欢迎关注我的 awesome-java(Github 上非常棒的 Java 开源项目集合),地址:https://github.com/Snailclimb/awesome-java 。概览 :GunspigRuoYiJeecg-bootiBase4JGuns推荐指数 :⭐⭐⭐⭐⭐简介我在上大学的时候就了解和接触过了这个项目,当时我还是一个 Spring 入门不太久的小菜鸟。一晃,不经意间已经过去快 3 年了。...转载 2020-05-21 21:13:02 · 1604 阅读 · 0 评论 -
JVM内存设置多大合适? Xmx和Xmn如何设置
问题:新上线一个java服务,或者是Rpc或者是Web站点,内存的设置改怎么设置呢?设置多大合适呢?分析:依赖的原则是根据Java Performance里面的推荐公式来进行设置。·具体来讲:java整个堆大小设置:Xmx和Xms设...转载 2020-05-21 21:07:53 · 1478 阅读 · 0 评论 -
CountDownLatch深入浅出
面试官:看你简历上有写熟悉并发编程,CountDownLatch一定用过吧,跟我说说它!我:CountDownLatch是JDK提供的一个同步工具,它可以让一个或多个线程等待,一直等到其他线程中执行完成一组操作。面试官:CountDownLatch有哪些常用的方法?我:有countDown方法和await方法,CountDownLatch在初始化时,需要指定用给定一个整数作为计数器。当调用countDown方法时,计数器会被减1;当调用await方法...转载 2020-05-18 20:57:10 · 181 阅读 · 0 评论 -
比较两个double数是否相等(C++/Java适用)
问题分析:计算机判断两个数相等,将判断所有的二进制位是否相等,当所有的位都相等时,两个数才相等,绝对的相等。解决方法:万物没有绝对相等的概念,在我们的程序中:对小数来说,保留小数点后几位就足够了,因此两个小数的差在可接受的精度范围内就可以被认为是相等的。#qt5写法public bool equal(double a, double b) { if ((a- b> -0.000001) && (a- b) < 0.000001)原创 2020-05-17 21:00:01 · 3628 阅读 · 0 评论 -
Java为什么不支持运算符重载?
问题引入:c++运算符重载一顿操作猛如虎,Java是否可以呢?现实:java并不支持这项特性,但是这样的功能也是可以直接使用方法进行实现,就是用起来比较的啰嗦,c++一个运算符搞定的事情,java需要写一个方法调用。现况分析:对面向对象的语言来说,运算符本身就不够“面向对象”,一切都可以用方法来实现java中确实没有云运算符重载,唯一例外是String里面的=和+String类的"=...原创 2020-04-25 18:14:33 · 580 阅读 · 0 评论 -
为什么ArrayList,Vector等都不支持循环中remove?
为什么ArrayList,Vector等都不支持循环中remove1 Vector 直接删除2 Vector 遍历元素2.1 for循环遍历2.2 迭代器循环2.3 任意方向遍历2.4 Vector的foreach3. Vector迭代器删除4. Vector不使用迭代器删除元素5. Vector流删除元素JDK中有很多的数据结构,可以让我们操作数据。...转载 2020-04-21 20:59:07 · 337 阅读 · 0 评论 -
为什么不推荐使用MVC?
条件:多终端环境使用共同的后台业务层与数据层分析:从webform过度到mvc,我曾经惊叹mvc革命性的变革。过去,在创建应用时通常会按MVC各建一个文件夹,每个文件夹就是一个模块。MVC三者的职责是这样的:1.Controller绑定到某个路由上,接着处理请求参数,然后创建在整个请求中可见的对象,并进行一些业务逻辑上的工作。期间会从数据库中构造Model,也有可能新建/修改Model后将它...原创 2020-03-02 16:37:55 · 330 阅读 · 0 评论 -
web项目后台判断接口传递参数的对象中的属性是否为空
前言:抽象出统一判断对象中属性是否为空,可用于检测接口传递的参数中是否有为空的情况,项目解耦。工具类代码:import java.lang.reflect.Field;import java.util.ArrayList;import java.util.HashMap;import java.util.List;/** * @program: wfanalysisplatfor...原创 2020-01-15 13:37:52 · 1147 阅读 · 0 评论 -
Spring MVC控制器的好用技巧(注解、请求、请求参数、返回模型、表单验证等)
本期目录1.使用@Controller构造型2.实现控制器接口3.扩展AbstractController类4.为处理程序方法指定URL映射5.为处理程序方法指定HTTP请求方法6.将请求参数映射到处理程序方法7.返回模型和视图8.将对象放入模型9.处理程序方法中的重定向10.处理表格提交...转载 2020-01-14 09:19:06 · 235 阅读 · 0 评论 -
Java对象的序列化(Serialization)和反序列化详解
1.序列化和反序列化序列化(Serialization)是将对象的状态信息转化为可以存储或者传输的形式的过程,一般将一个对象存储到一个储存媒介,例如档案或记忆体缓冲等,在网络传输过程中,可以是字节或者XML等格式;而字节或者XML格式的可以还原成完全相等的对象,这个相反的过程又称为反序列化;2.Java对象的序列化和反序列化在Java中,我...转载 2020-01-09 16:03:24 · 194 阅读 · 0 评论 -
基于Java讲述HBase连接池技术
先看官方文档的总体描述:hbase有两种获得connection的方法,分别是如下两种: Connection connection = ConnectionFactory.createConnection(c...转载 2020-01-09 13:41:59 · 538 阅读 · 0 评论 -
eclipse导入web项目并部署到tomcat上运行(实测有用)
很多读者会问到拿到了源代码应该怎么部署运行,在这里给大家统一演示如何使用eclipse导入Java Web项目并且运行在Tomcat中。首先配置好Eclipse项目的Tomcat Server【1】 打开Eclipse,单击“Window”菜单,选择下方的“Preferences”。【2】单击“Server”选项,选择下方的“Runtime Environments”。&nbs...转载 2019-12-26 09:25:28 · 8682 阅读 · 0 评论 -
Error: Invalid or corrupt jarfile jar
遇到的问题:IDEA打包可执行jar包,报错Error: Invalid or corrupt jarfile jar检索问题,看到各种千奇百怪的方法,比如:修改文件后使用jar命令重新打包,还有说要把MANIFEST.MF 大写修改为小写的manifest等,这里谈一种有效的解决方法。解决方案适用性:IDEA(其它IDE尚未测试)原因:IDEA中,在File\Project Struc...原创 2019-12-24 15:57:54 · 3864 阅读 · 0 评论 -
idea 将JAVA项目打包成可执行jar
IDEA打包可执行jar1.首先你需要有一个JAR类型的项目2.如下: 3.如下: 4.如下:5.添加第三方依赖如下: &n...转载 2019-12-24 15:46:29 · 167 阅读 · 0 评论 -
浅谈volatile关键字
在Java的面试当中,面试官最爱问的就是volatile关键字相关的问题。经过多次面试之后,你是否思考过,为什么他们那么爱问volat...转载 2019-11-20 09:03:46 · 200 阅读 · 0 评论 -
json解析方式之Gson
第一种:解析json数组成java对象数组1.json字符串[ { "address": "中国", "age": 30, "name": "小明", "sex": "boy" }, { "address": "加拿大", "age": 20, "name":...原创 2019-11-14 14:59:18 · 203 阅读 · 0 评论 -
Java synchronized锁的理解
根据本人的理解和实验效果,我认为Java synchronized的主要用法分三种:锁静态函数或类.class(即所谓的类锁)锁对象/锁函数(简称对象锁)锁对象的非静态成员变量(变量锁)结论:1.锁对象与锁对象的非静态成员变量并不会形成同步,两者并没有包含关系。即使this里包含content成员,但对于synchronized()来讲,是两个不同的输入对象或者说参数,二者不会同步。2...原创 2019-11-06 15:05:21 · 159 阅读 · 0 评论 -
Java获取windows与Linux系统磁盘所剩空间大小(单位G)
/** * @return Map<String, String>: key:磁盘盘符, value:磁盘剩余空间 */ public static Map<String, String> getHdInfo() {&...原创 2019-10-23 09:42:47 · 1705 阅读 · 0 评论 -
Java可变参数的使用
Java相关知识 基本数据类型(八个):byte , short , int , long , float,double,boolean,char, 基本数据类型 .length() 不是基本数据类型 .length可变参数的使用public static int sum(int... attr){ //传递0-n个参数 attr可以当做一个数组进行处理 //attr[下...原创 2018-09-14 10:32:13 · 189 阅读 · 0 评论 -
Java集合框架List+Set+Map基本操作
一、List集合 List的特征是其元素以线性方式存储,集合中可以存放重复对象。 List接口主要实现类包括: ArrayList : 代表长度可以改变得数组。可以对元素进行随机的访问,向ArrayList()中插入与删除元素的速度慢。 LinkedList: 在实现中采用链表数据结构。插入和删除速度快,访问速度慢。 对于List的随机访问来说,就是只随机来检索位于特定位...原创 2018-09-14 10:54:26 · 217 阅读 · 0 评论 -
Java集合框架List、Set、Map及其下属实现类的区别
一、集合与数组的爱恨情仇: 如果想要了解List、Set、Map之间的区别,我们不可忽视Java数组知识 需要自动扩展的数组,所以有了List 需要有重复的数组,所以有了set 需要自动排序的组数,所以有了TreeSet,TreeList,Tree等而几乎有有的集合都是基于数组来实现的. 因为集合是对数组做的封装,所以,数组永远比任何一个集合要快但任何一个集合,比数组提供的功能要...原创 2018-09-14 11:43:16 · 954 阅读 · 0 评论 -
java调用自己编写的.exe程序
Runtime rn = Runtime.getRuntime(); Process p = null; try { p = rn.exec("\"F:/export/qq.exe\"");//软件存放地址的问题 } catch (Exception e) { System.out.println("Error exec!"); retur...原创 2018-10-11 19:11:27 · 699 阅读 · 0 评论 -
Java 内存溢出(java.lang.OutOfMemoryError: Java heap space)分析与解决
java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小、程序不严密,产生了过多的垃圾。导致OutOfMemoryError异常的常见原因有以下几种:内存中加载的数据量过于庞大,如一次从数据库取出过多数据;集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;代码中存在死循环或循环产生过多重复的对...翻译 2018-10-15 15:32:06 · 3366 阅读 · 0 评论 -
Java后台返回复杂数据、大数据给前端解决办法(返回json数据分类简化前段操作)
背景分析:面对当前多种的业务需求和杂乱无章的数据堆放,Java后台处理变得尤为重要。对于信息系统开发而言,归根到底是对数据的分类与处理。通过从服务器获取数据,客户给出需求,形成怎样的表格,多样化的静态图和动态图,各种各样资源文件,这些需求都不是简单的从数据库中取出来就可以直接使用的,往往需要进行对应的算法归类,类别划分等。对于复杂的图标,借助开源的前段框架或者相应的画图插件即可完成,只需要直接调...原创 2018-10-18 19:40:22 · 11633 阅读 · 0 评论 -
java结合poi将excel导入指定路径(后台测试数据与格式用)
HSSFWorkbook wb = null; wb = PnCureExcel.exportReport(dir+"/PnCure.png"); FileOutputStream fout = new FileOutputStream("E:/PnCure.xls"); wb.write(fout); 记得关闭流,不然该文件一直被占用只能以只读的形式查看,而且消耗内存!别问我...原创 2018-10-09 15:33:48 · 854 阅读 · 0 评论 -
Web项目获取项目“相对路径”,以获取特定资源
//类加载根路径String classPath = this.getClass().getResource("/").getPath();//类加载根路径URL xmlPath = this.getClass().getClassLoader().getResource("");//类所在工程根路径String proClassPath = this.getClass().getRes...原创 2018-10-16 14:15:32 · 4024 阅读 · 0 评论 -
Java项目导出为JAR文件
方法:myeclips有导出功能,直接使用myeclips自带工具实施。具体的操作方法如下,按图片顺序操作。注意:jar运行必须在有安装jdk的计算机中运行,同时如果需要相应的java jar支持应该与其放在同一个文件夹之中,对于数据连接,文件导出保存路径等,应该在配置文件中写明,一并放置在导出的jar文件的相同目录之中。...原创 2018-10-16 15:17:32 · 1598 阅读 · 0 评论 -
JAR文件导出为.exe可执行文件
为什么要导出为.exe文件?①客户需求,客户有这样的需求,程序员得完成发布的任务。②jar运行需要将其Java项目所需要的jar文件放置在同一个文件夹之中,难以管理。③相对而言,导出为.exe文件所占用的存储空间更少。④最重要的一点,可以通过相关方法将jdk集成到.exe文件之中,计算机中没有安装jdk也可以运行我们的java项目。怎样导出为.exe文件?分析:需要使用到exe4j W...原创 2018-10-16 16:14:17 · 300 阅读 · 0 评论 -
一个class去获取另一个class的static变量却一直为空解决方法
java static生命周期Static:加载:java虚拟机在加载类的过程中为静态变量分配内存。类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享销毁:类被卸载时,静态变量被销毁,并释放内存空间。static变量的生命周期取决于类的生命周期类初始化顺序:静态变量、静态代码块初始化构造函数自定义构造函数结论:想要用static存一个变量,...原创 2018-10-17 16:07:50 · 3581 阅读 · 0 评论