Java
TT海浅
这个作者很懒,什么都没留下…
展开
-
IDEA 快捷生成注释 配置(完美不报警告)
上个图具体文本:Template text:* * $end$ * @author xxx * @date $date$ $param$ $return$ **/Edit Template Variables中(这两个很关键,网上的好像不够完美,仍然会报警告,我稍做了处理)param:groovyScript(" def result = ''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').原创 2021-11-26 11:01:50 · 454 阅读 · 0 评论 -
String对象intern方法
前两天看到有人在讨论intern方法,想了以前的代码中,似乎重来没有用到过次方法。有空了就盘根问底儿探究一下。先写个demo//环境 jdk8//1String s1 = "123";String s2 = new String("123");System.out.println(s1 == s2);//2String s3 = "456";String s4 = s3.intern();System.out.println(s3 == s4);//3String s5 =原创 2021-07-30 12:15:39 · 214 阅读 · 0 评论 -
java应用中使用轻量的Sqlite
java应用中使用轻量的Sqlite使用场景在有些java项目要使用数据库存储数据,但是并不是对数据库要求很高时,可以选择使用本地化的sqlite。使用方式在java应用中初始化时创建数据库db,生成比如data.db文件,在执行建表,建索引等操作。下面就可以正常使用增删改查了。代码依赖 <dependency> <groupId>org.xerial</groupId> <artifactId>sqlit原创 2021-02-07 10:45:00 · 465 阅读 · 2 评论 -
解决国内下载gradle慢或超时问题
一个代理下载网站:http://gitd.cc/将gradle下载地址拷贝进去,如:https://services.gradle.org/distributions/gradle-4.4-all.zip下载后是一个随机命名的文件压缩包,记得改名解压。原创 2021-02-01 14:07:13 · 877 阅读 · 0 评论 -
UDP 用户数据报文协议的发送和接收示例
UDP是基于数据报文的传输协议,面向无连接,不可靠,下面介绍发送和接收的Demo: 发送程序:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net原创 2017-01-18 18:06:19 · 5225 阅读 · 1 评论 -
TreeSet和TreeMap不能存放重复元素?能不能存放null?其实不是这样的——灵活的二叉树
问题一:本来认为TreeMap不能存放重复元素?其实并非如此; 其实一般情况下是不允许存放重复元素的,但是它并非这么死板,在一些情况下是可以存放重复元素的,存了又会有引入其他问题。 问题二:能不能存放null呢?正常情况下是不能的,会报异常,但是经过一些处理后是可以的。 解答问题一: 1、存放元素时,TreeMap实现外部比较器接口Comparator,并重写其compare方法,当判断元素原创 2017-02-16 13:42:42 · 16554 阅读 · 1 评论 -
reflect反射的常用方式
反射是java中强有力的工具类,可以在不知道类或对象内部具体实现的情况下创建对象,获取属性,执行函数(包括访问私有属性和方法)等;常用方法有以下几种: 如,访问Person类 1.获取类字节码文件 a. 直接读取字节码文件 Class c = Person.class;//在和执行位置同一个文件位置时,可以这样索引; b. 通过调用对象的getClass方法 Class c原创 2017-01-16 18:04:17 · 387 阅读 · 0 评论 -
多线程时,线程同步之———对象锁
多线程操作时,上篇博客写到了两种不同方式的线程同步方式: 方式1:同步代码块 一般写在方法内部,如:synchronized (任意对象名){...//同步代码块}方式2:同步方法 用synchronized或者static synchronized来修饰方法,如:public synchronized method(){ ...//方法体}或者,加static关键字public原创 2016-11-22 23:36:20 · 701 阅读 · 0 评论 -
关于List中可以添加null的问题
在回顾看java编程思想时,练习小程序,给ArrayList中添加元素,ArrayList中可以添加null元素,对这个现象,表示不太理解。ArrayList已经又泛型约束了,只能添加指定类型或者其子类或实现类,添加null时,null和泛型直接的关系......null需要继续关注;import java.util.ArrayList;public class ListDemo { p原创 2017-01-08 17:57:01 · 39697 阅读 · 2 评论 -
[转载]Java中父类与子类的加载顺序详解
class Parent { // 静态变量 public static String p_StaticField = "父类--静态变量"; // 变量(其实这用对象更好能体同这一点,如专门写一个类的实例) //如果这个变量放在初始化块的后面,是会报错的,因为你根本没有被初始化 public String p_Field = "父类--变量";转载 2016-12-24 17:02:14 · 310 阅读 · 0 评论 -
多线程时,线程同步的两种方法简单介绍
在典型的卖票程序中,需要考虑多个窗口买票时的数据同步问题,对此可能需要线程同步,下面简单介绍下两种同步方法; Demo:public static void main(String[] args) { ThickesRunnable tr = new ThickesRunnable();//实现Runnable接口 Thread t1 = new Thread(tr原创 2016-11-20 18:29:04 · 2961 阅读 · 0 评论 -
Properties集合
Properties是一个集合,属性列表中每个键都是一个字符串;因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法。但不建议使用这两个方法,因为它们允许调用者插入其键或值不是 String 的项。相反,应该使用 setProperty 方法。//获取键对应的值String getProperty(String key)原创 2016-11-16 23:09:28 · 327 阅读 · 0 评论 -
集合的特殊功能之TreeSet集合如何保证元素的唯一及排序的
TreeSet集合储存的元素特点是唯一和自动排序,它是如何实现的呢?class TreeSet implements Set { private transient NavigableMap<E,Object> m; public TreeSet() { this(new TreeMap<E,Object>()); } //无参构造执行了n转载 2016-10-17 22:48:44 · 695 阅读 · 0 评论 -
Android调用前置摄像头的方法
找了一晚上,试了一晚上,,最后竟然短短3行代码就行了!万万没想到,,真谢谢这位兄弟了,记住他。Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra("android.intent.extras.CAMERA_FACING", 1); // 调用前置摄像头 startActivityForResult转载 2016-10-15 23:20:38 · 9312 阅读 · 8 评论 -
泛型通配符
泛型通配符这里只是通过ArrayList来举例 /* * <?>代表可以接受任意的泛型类型 */ ArrayList<?> a1 = new ArrayList<Country>(); ArrayList<?> a2 = new ArrayList<China>(); ArrayList<?> a3 = new ArrayList<America>(原创 2016-09-30 00:09:17 · 272 阅读 · 0 评论 -
switch内部执行顺序
switch还挺奇怪;正常格式:int x = 2;switch(x){ case 1:System.out.println("case 1"); break; case 2:System.out.println("case 2"); break; case 3:System.out.println("case 3"); br原创 2017-02-18 21:48:13 · 5920 阅读 · 1 评论 -
Hibernate事务的开启问题
在对Hibernate进行Demo测试,发现在开启事务时,调用session.beginTransaction(),发现,这时并没有真正的开启事务,而是在事务中执行第一条sql语句的前一刻才真正的开启事务。原创 2017-06-08 20:25:35 · 944 阅读 · 0 评论 -
@Transactional注解
Spring事务时,通常加上事务注解来简化事务管理,这个事务注解是如何工作的呢?伪代码: @Override @Transactional public ResponseResult<BraceletDeviceResDto> queryById(@RequestParam("id") Long id) { return updateDevic...原创 2019-02-20 18:23:01 · 1416 阅读 · 0 评论 -
SpringCloud集成Redis失效监听器
通过配置Redis服务器,开启其失效通知事件主要设置方式:在redis.conf中设置notify-keyspace-events Ex这样在redis键值对儿失效时,就可以在服务中接收过期通知springcloud配置:1、添加依赖<dependency> <groupId>org.springframework.boot</groupId>...原创 2018-11-05 18:01:11 · 1962 阅读 · 1 评论 -
Mybatis插件,生成domain,mapper,xml,功能增强
Mybatis反向生成工具,插件增强使用mybatis官方开发的插件包,便捷的进行数据库文件反向生成,为了更好更便捷的使用它,自己对插件包做了一些功能增强,做了封装,简化配置和使用1、增强功能介绍:1、增加插件,控制生成domain类是否生成get和set方法,不生成get和set方法时,可以生成lombok简洁模式2、增加插件,控制生成ExtMapper接口文件和对应的xml文件,可...原创 2018-11-01 17:02:05 · 700 阅读 · 0 评论 -
SpringCloud配置Swagger-UI
业务代码中用到在线api工具swagger,用起来还是很方便的,记录以下在springcloud中的配置使用过程;1、导入依赖<springfox-swagger.version>2.7.0</springfox-swagger.version><swagger-annotations.version>1.5.13</swagger-annotation...原创 2018-04-04 18:53:20 · 5386 阅读 · 1 评论 -
修改HttpServletRequest中header中的信息
废话一堆:由于业务有统一的鉴权系统,页面请求时在header中带过来gsid,正常业务没有问题,但是当需要下载文件时,前端统一用json解析响应,当响应文件时,对于前端来说不好处理,就决定使用简单的get请求下载文件,将gsid通过url带过来,这样的话后端鉴权就需要处理,当header中没有gsid时,从参数中取,为了尽可能少的改变公用的业务代码(指sso),就在当前项目中自定义权限拦截器。总结...原创 2018-04-17 14:55:04 · 64517 阅读 · 16 评论 -
使用springCloud中mybatis在开启事务情况下,sql默认开启一级缓存
最近在进行开发中,和其他组联调,发送mq,因为每次要发送全量的信息,所以在进行数据更新后,结尾处我都会重新查询一次数据库,然后发送mq,,,发现发送过去的数据并不是全量的,debug时发现同样的查询,只发出了一次,后面就没有发出sql查询,直接拿取之前的结果。这样问题就出现了:第一次查询的结果,我对结果进行了一些修改,将一些属性置为null,然后在最后发送mq之前,我想着为了确保数据是全量的,原创 2018-01-16 10:31:22 · 2863 阅读 · 2 评论 -
List集合类的实现方式分析(JDK1.8+IDEA14)
List > ArrayList:1、初始容量大小为10,同时可以传入int值自定义初始大小 2、新增对象时,首先进行容量检查,如果没有越界,就在下一个未使用的索引处存入需要插入对象的引用, 如果越界,就以1.5倍的因子扩展大小,这时需要一个拷贝动作,其实内部存入的是在一个Object[]中 3、移除对象,拿到需要移除的索引,将数组Object[]中的指定索引的值置为null原创 2017-12-26 16:53:05 · 417 阅读 · 0 评论 -
一个*号引发的事故
使用bubbo远程访问mybatis时,出现了点问题自定义mapper映射文件时,必须要这么写:正确写法 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <prop原创 2017-08-18 13:46:07 · 351 阅读 · 0 评论 -
三目运算符bug?原来是这样的!
代码1:String name0 = null;Integer isDisplay0 = null;System.out.println("Integer测试:"+isDisplay0 == null?"":isDisplay0+"---I");System.out.println("String测试:"+name0 == null?"":name0+"---S");输出:null---In原创 2017-08-18 15:48:05 · 1449 阅读 · 0 评论 -
Solr单机部署在Tomcat之--windows和linux流程
这里介绍下Solr单机部署在tomcat下运行时,分别部署在windows和linux下的方式:windows: 环境要求:jdk1.7、Tomcat7; 拿solr源码包中的例程war包做demo:1、例程包在solr源码包如下路径:\solr-4.10.2\example\webapps\solr.war;2、将其拷贝到Tomcat的webapps目录下发布;3、接下来启动Tomcat,我们原创 2017-06-30 01:00:09 · 493 阅读 · 0 评论 -
泛型接口的使用
1、定义泛型接口,并去实现这个接口: 接口类:GenericInterface.classpublic interface GenericInterface<E> { public abstract E print(E e);}实现接口的类:GenericClass .classpublic class GenericClass implements GenericInterface<P原创 2016-09-29 23:16:53 · 8226 阅读 · 0 评论 -
泛型的应用(类,方法)
泛型在类定义上的应用:public class MyGeneric<E> { private int age; private String name; private E e; public void setObj(E e){ this.e = e; } public E getObj(){ return e;原创 2016-09-29 20:12:23 · 249 阅读 · 0 评论 -
字符流和字节流常用类,及其之间的数据交换实现
字节输入流:InputStream(抽象类,字节输入流的所有类的超类)---读取原始字节流,请考虑使用FileInputStream (1) |__FileInputStream 描述:从文件系统中的某个文件中获得输入字节,用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader。 >FileInputStream(File file)原创 2016-11-04 20:49:07 · 2202 阅读 · 0 评论 -
几种代码块的区别、执行顺序
代码块分为构造代码块、构造函数、静态代码块 执行顺序:静态代码块->构造代码块->构造函数,这样的先后顺序来执行的。class Static_Demo2 { public static void main(String[] args) { Test_Demo t = new Test_Demo(); }}class Test_Demo { String n原创 2016-07-14 22:07:05 · 509 阅读 · 0 评论 -
HandlerThread的使用
开启线程,刚开始学习时,总会使用new Thread(){ }+start()来创建,即匿名线程,创建多个线程会使程序运行越来越慢。一般会使用Handler方式来创建。这样创建的handler是在主线程即UI线程下的handler,即这个Handler是与UI线程下的Looper绑定。Looper是用于实现消息队列和消息循环机制的。那么在这个handler中执行耗时的操作是不行的,因为会影响到主线转载 2016-06-16 13:52:32 · 366 阅读 · 0 评论 -
实现Runnable接口的类+使用Thread类的实例来创建线程---->通过实现Runnable接口来创建线程类
通过实现Runnable接口来创建线程类public class MainActivity extends Activity {protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Thread mThread = new Thread(u转载 2016-06-15 21:52:21 · 4313 阅读 · 0 评论 -
java中变量什么时候需要初始化
1. 对于类的成员变量,不管程序有没有显式的进行初始化,加载时Java虚拟机都会先自动给它初始化为默认值。 基本数据类型默认值如下: Boolean false Char '\u0000'(null) byte (byte)0原创 2016-06-30 17:28:32 · 4662 阅读 · 0 评论 -
Runnable接口实现线程,Handler消息队列更新UI
在Android中不允许Activity新启动的线程访问该Activity里的UI组件而一般一个activity中需要由多个线程来完成不同任务,然后更新UI;比如我们使用手机在线听音乐,它要一边缓冲一边播放,同时还要显示播放进度,这些都需要更新UI,而又很难在一个线程中完成,所以就可以通过Handler()来完成这些更新,通过创建一个handler实例,它会被绑定到创建它的线程中(通常即为主线原创 2016-06-14 23:55:02 · 1754 阅读 · 0 评论 -
构造方法中super()的作用
在类的继承中,子类的构造方法中默认会有super()语句存在,相当于执行父类的相应构造方法中的语句 如下面代码:class Extends_Demo { public static void main(String[] args) { Cat c = new Cat(); //---------------(1) System.out.原创 2016-07-10 21:09:24 · 31454 阅读 · 14 评论 -
安卓点击EditText,弹出日期选择界面,选择日期,返回给EditText
activity_main.xml布局文件里面,就是一个EditText控件 RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_par转载 2016-06-10 11:19:53 · 5821 阅读 · 0 评论 -
java基础之,位运算符>>
java中变量都是以其补码的形式存储和表示的,比如在做右移运算时,我通常的理解是右移即除以2的n次方,这确实容易理解,可是也有出现小的问题。例如class rightandleft{public static void main(String[] args) {int a = 82;int b = -82;/*a原码:00000000 00000000原创 2016-06-26 19:12:18 · 333 阅读 · 0 评论 -
Java数组操作的疑惑(这篇错误,后来才知道是有static修饰的结果)
Java数组操作的疑惑刚接触java,看来看和C语言很相似,先看下基础知识,今天改完论文,接着昨天的看,看到数组介绍,对数组进行排序操作,出现了让我困惑的问题,大概是因为只知道C语言的原因吧。说下操作过程,很简单定义一个一维数组:`int arr[] = {2,7,1,8,5};`进行直接排序:public static int[] Bubblesortupd(int[] array)//定原创 2016-05-18 19:54:24 · 1832 阅读 · 0 评论 -
LinearLayout 属性详解
android:layout_gravity 本元素相对于父元素的重力方向 android:gravity 本元素所有子元素的重力方向 android:orientation 线性布局以列或行来显示内部子元素android:layout_weight 子元素对未占用空间水平或垂直分配权重值当 android:orientation="vertical"转载 2016-06-09 11:45:07 · 519 阅读 · 0 评论