首页 文章 精选 留言 我的

精选列表

搜索[java],共10000篇文章
优秀的个人博客,低调大师

Java上传csv文件踩坑记

前言 最近在做交通优化分析工具的产品时,有一个需求是用户上传一份包含路段信息的csv文件,后端需要解析csv的文件内容并将信息插入数据库中。这是一个常规的操作,也不复杂,但是在实现的过程中却踩到了一个utf-8 BOM的坑,随手记录一下。 实现方式 完整的实现方式如下: 在spring中通过MultipartFile file这个对象来接受前端传过来的文件 获取file对象的InputStream输入流 将上一步的输入流和定义好的DTO对象传给opencsv的CsvToBeanBuilder方法, CsvToBeanBuilder方法会自动解析输入流中的内容并生成对应的DTO List 最后根据业务需求,生成相应的DO对象存入数据库 前面有坑 csv文件样例: path_id,path_name 1,文一路 2,文二路 DTO定义: @Data publ

优秀的个人博客,低调大师

Java常用命令之jstat

jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。 jstat -options查看可用参数如下 [root@localhost servers]# jstat -options option -class -compiler -gc -gccapacity -gccause -gcmetacapacity -gcnew -gcnewcapacity -gcold -gcoldcapacity -gcutil -printcompilation jstat -class 用于查看类加载信息 Loaded Bytes Unloaded Bytes Time 12408 22663.9 0 0.0 11.13 12408 22663.9 0 0.0 11.13 12408 22663.9 0 0.0 11.13 12408 22663.9 0 0.0 11.13 Loaded 加载类的数量 Bytes 加载类合计大小 Unloaded 卸载类的数量 Bytes 卸载类合计大小 Time 表示加载和卸载类总共的耗时 jstat -compiler 用于编绎统计 Compiled Failed Invalid Time FailedType FailedMethod 14276 2 0 54.43 1 com/mysql/jdbc/AbandonedConnectionCleanupThread run Compiled:编译数量。 Failed:失败数量 Invalid:不可用数量 Time:时间 FailedType:失败类型 FailedMethod:失败的方法 jstat -gc 查看gc信息 jstat -gc 16002 S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT 512.0 512.0 0.0 320.0 173568.0 82801.1 349696.0 92495.3 72192.0 69136.8 8704.0 8192.9 687 8.424 3 0.408 8.832 S0C:第一个幸存区的大小 S1C:第二个幸存区的大小 S0U:第一个幸存区的使用大小 S1U:第二个幸存区的使用大小 EC:伊甸园区的大小 EU:伊甸园区的使用大小 OC:老年代大小 OU:老年代使用大小 MC:方法区大小 MU:方法区使用大小 CCSC:压缩类空间大小 CCSU:压缩类空间使用大小 YGC:年轻代垃圾回收次数 YGCT:年轻代垃圾回收消耗时间 FGC:老年代垃圾回收次数 FGCT:老年代垃圾回收消耗时间 GCT:垃圾回收消耗总时间

优秀的个人博客,低调大师

Beetl 3.0.11 版本发布,Java 模板引擎

本次发布增加按照社区要求增加了一些类似JSTL的标签函数,内置如下html标签 TAG.html.include= org.beetl.ext.tag.html.IncludeResourceHtmlTag TAG.html.layout= org.beetl.ext.tag.html.LayoutResourceHtmlTag TAG.html.set= org.beetl.ext.tag.html.SetHtmlTag TAG.html.if= org.beetl.ext.tag.html.IfHtmlTag TAG.html.foreach= org.beetl.ext.tag.html.ForeachHtmlTag 如下例子 <#html:include file="" arg1="" arg2="" /> include包含file属性指名一个模板路径,后面若干属性可选,会在子模板里引用 <#html:layout parent="" args1 arg2=""> ....... </#html:layout> 同layout标签函数,包含必须的parent,指明布局模板路径 html:set, 使用export 设置一个变量名,在此后可以使用此变量名引用这个变量(export和var的区别,前者申明的变量可以在模板后面是使用,而var只能在标签体使用) <#html:set value="${usere.age+1}" export="age"/> html:if,包含test用于测试条件是否为真,如果为真,执行标签体 <#html:if test="${condtion}"> ..... </#html:if> html:foreach,通过items申明要循环的变量,通过var申明循环元素的名称,可以申明一个状态,这个与for循环一样,是一个ILoopStatus对象 <#html:foreach items="${xxx}" var="item"> ${item} </#html:foreach> <#html:foreach items="${xxx}" var="item,status"> ${status.index}--${item} </#html:foreach> Maven <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl</artifactId> <version>3.0.11.RELEASE</version> </dependency> Beetl 在线使用体验http://ibeetl.com/beetlonline/ Beetl 模板(文本处理)引擎功能齐全,使用体验优秀,具备许多创新功能和实现。也是当今世界跑的最快的模板引擎,从 JDK6以来,有一些新生代模板引擎诞生,Beetl 仍然是性能王者,如下是一个性 JMH 能测试结果,来自template-benchmark

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册