Java
宇翔1024
永远是少年,永远在路上。
展开
-
【编程】Java范型T和?的区别
T和?都表示不确定的类型。T的意义是自定义范型,?表示通配符范型。T其实只是一个代号,相当于对范型的命名,你可以按照Java命名规范给他任意命名,可以是E可以是D可以是UnkownClass。而如果你写了?则表示在告诉JVM:“我是想用Java的范型来编写这段代码,我在这里并不是要用原生类型,但是在当前这种情况下,范型参数可以持有任何类型。”引号这段话来自《Thinking in ...原创 2018-08-29 17:02:07 · 1243 阅读 · 0 评论 -
【编程】流需要关吗?
如果只是被简单的这样问,那么答案是肯定的,所有的流用完都需要关,这件事必须在最前面申明。JAVA原生API我相信很多小伙伴是这样写的:在finally里关流,通常要判断空,而且close方法也是有可能抛出异常的,还要再try一层。FileOutputStream fos = null;try { fos = new FileOutputStream("file.do...原创 2018-09-08 15:36:36 · 515 阅读 · 0 评论 -
【工具】连接Jconosle分析程序运行状况
1、启动程序的JAVA_OPTS里加入如下运行参数。-Dcom.sun.management.jmxremote-Djava.rmi.server.hostname=xxx.xxx.com -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun....原创 2018-09-24 15:54:10 · 196 阅读 · 0 评论 -
【编程】HttpClient解决SSL证书问题
使用httpclient访问https网站时,可能遇到SSLHandshakeException。其根本原因是我们模拟的HttpClient没有SSL证书。虽然我们可以通过设置Java来解决,但为了保证在各个环境都能正常运行代码,更健壮的方案是忽略掉SSL的检查。详细代码如下,通过该类获取的CloseableHttpClient,在访问https网站时会自动忽略SSL检查:packa...原创 2019-01-13 20:45:03 · 2958 阅读 · 0 评论 -
【编程】Mybatis插件统一修改Sql语句
事件起因:一边开发一边完善需求,突然要求为每个数据的查询新增权限。需求新增,账号分为市、区、街、园账号。每次查询都只能查询自己范围以下的数据。情况分析:已经开发的所有代码,都需要逐个排查,分析是否需要增加查询、或者删修的条件。解决方案:1、利用Spring的web层拦截器拿到该账号具体对应什么权限。ThreadLocal保存数据。2、Mybatis插件拦截一部分需要修改的...原创 2019-03-12 22:02:40 · 2888 阅读 · 1 评论