
JAVA
Bruce Jia(上海)
谦卑先于伟大。
每一天都应该从计划开始,以自省结束。
早做安排,做到每周有计划,每月有计划,每年有计划;
持之以恒,做到每周有收获,每月有收获,每年有收获;
展开
-
JAVA中的clone到底是个什么呆鹅
clone, clone, clone原创 2022-01-28 15:23:45 · 436 阅读 · 0 评论 -
什么时候需要加volatile关键字?它能保证线程安全吗?
这是一道常规面试题,对于各位大牛来说不算什么。但是怎样才能给小白讲明白呢?我尽力吧。先来看看这个关键字吧。volatile,查词典知道它的意思是“adj. 易变的,动荡不定的,反复无常的;(计算机内存)易失的”。说到它就要谈到CPU的高速缓存。我们知道一个程序运行起来,里边的变量都是在内存的,CPU为了提高效率,会把变量读到它自己的缓存中,这个缓存的读写速度比内存快很多。只有在缓存不够用的时候,才会根据算法把变量写回到内存。如果是单个CPU这样不会造成什么困扰,因为单个CPU不会存在缓存和内存不一致原创 2022-01-08 15:13:28 · 1233 阅读 · 0 评论 -
调试Jersey发送cookie问题
这周调用一个下载文件的API遇到一个问题。这个API返回的是CDN的signed URL,客户端需要根据Set-Cookie中指定的cookies值,将cookie设置到下载的GET请求中。项目中使用的是Jersey,而jersey中的Client提供了client.cookie(Cookie c)和client.cookie(String name, String value)等方法来设置cookies。我使用这两种方法都失败了,服务器返回403, 说需要的cookie没有设置。后来干脆"手写cookie原创 2021-08-11 15:45:59 · 323 阅读 · 0 评论 -
GeoTools开发GIS图形界面应用程序
GeoTools是大名鼎鼎的JAVA开源开发包,支持开发基于Swing的GUI应用程序。GeoTools对于矢量数据和栅格数据都有完善的支持,是开源GIS方案中常见的选择之一。例如流行的GIS服务器GeoServer就是基于GeoTools开发的,另一个桌面GIS软件uDig也是使用GeoTools开发的。前些天看了些文档,今天得空先把官网上的简单demo跑起来。代码如下:import org.geotools.data.FileDataStore;import org.geotools...原创 2021-07-25 14:27:58 · 2245 阅读 · 2 评论 -
GeoTools初体验之读取SHP文件
import java.io.File;import java.util.HashMap;import java.util.Map;import java.net.URL;import org.geotools.data.DataStore;import org.geotools.data.FeatureSource;import org.geotools.data.shapefile.ShapefileDataStoreFactory;import org.geotools.dat...原创 2021-06-03 23:54:39 · 959 阅读 · 0 评论 -
单元测试,是程序员的基本功
10-11月份,我花了很多时间在项目D的代码重构和单元测试上,这期间重读了《重构》、《单元测试的艺术》和《Mastering Unit Testing Using Mockito and JUnit》等基本关于单元测试的书。一点感受,记录于此。关于为什么需要单元测试,以及测试驱动开发的原理,已经有大量的文章书籍讲述,我就不再浪费时间发表陈词滥调了。我的一个基本观点是:单元测试是程序员的一...原创 2018-12-29 22:46:38 · 813 阅读 · 0 评论 -
jersey-client发送空的POST请求时服务器返回411错误 - 一次trouble shooting经历及经验教训
问题描述:问题分析过程:Even Jersey added the header, when it called JDK's HttpUrlConnection, the header got ignored by JDK because the header was in "restricted headers list".问题解决方法:System.setProperty("sun.net.h...原创 2018-06-28 22:19:26 · 1525 阅读 · 0 评论 -
【填坑】Jersey 2.22 和 2.26
Jersey从v2.26开始讲injection的库做了封装,不再跟hk2强耦合。但是缺省还是试用hk2,应用程序需要特别地在pom中加入<dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</arti...原创 2018-06-22 16:58:16 · 1024 阅读 · 0 评论 -
2018年4月 读书小结
这个月继续专注在JAVA方面,看的书籍是Spring Boot和Spring Cloud。JAVA代码没有写多少,很陌生。期间也把Core JAVA卷一拿出来翻看,基础不扎实真没办法。还是多写代码吧。...原创 2018-04-28 17:21:22 · 290 阅读 · 0 评论 -
Eclipse中的.project file和.classpath file
Eclipse is a runtime environment for plugins. Virtually everything you see in Eclipse is the result of plugins installed on Eclipse, rather than Eclipse itself.The .project file is maintained by the c...翻译 2018-04-26 10:10:23 · 399 阅读 · 0 评论