
Java编程
DayDayUpTianTian
一只小猿猿
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java批量保存数据到InfluxDb
1、项目是用的springboot,所以在application.properties文件中直接配置自己需要连接的数据库以及用户名密码。spring.influx.url=http://127.0.0.1:8086spring.influx.user=rootspring.influx.password=root2、项目的maven依赖 <dependency>...原创 2019-11-29 16:17:14 · 1557 阅读 · 0 评论 -
SpringBoot操作InfluxDb数据库
一、InfluxDb数据库简介InfluxDb用Go语言编写的一个开源分布式时序、事件和指标数据库,和传统是数据库相比有不少不同的地方。类似的数据库有Elasticsearch、Graphite等。1.提供了Http接口的API来操作数据2.提供了类似sql的数据库语句3.不支持数组保存4.influxdb中的一条记录point,主要可以分为三类,必须存在的time(时间)...原创 2019-11-15 16:16:57 · 6645 阅读 · 1 评论 -
java实现死锁代码
有一天,小李去参加面试,面试官让他写一个死锁的程序,小李思索了一两分钟,于是开始了死锁的代码:public static void main(String[] args) { Thread t1 = new Thread(() -> { synchronized (Integer.class) { System.o...原创 2019-09-06 10:18:39 · 3438 阅读 · 3 评论 -
java继承问题
/** * 1、编写一个类TestA ,其中定义 int a = 1, 一个方法test(),打印System.out.println("aaa"); * 另一个类TestB继承TestA,定义的变量 int a = 3,重写方法 test(),打印 System.out.println("bbb"); 看下图会打印出什么呢? */public class TestMain { ...原创 2019-09-06 22:09:51 · 462 阅读 · 0 评论 -
java继承构造函数调用顺序问题
有两个类,一个Yuan继承Yan,调用Yuan的有参的构造函数,其调用顺序如何,且看代码:package cn.yan.teststarter.test;public class Yan { private String name; static { System.out.println(8); } public Yan() { ...原创 2019-09-16 11:31:52 · 513 阅读 · 0 评论 -
静态属性调用问题
一个父类定义了static静态代码块,且有一个静态变量value;子类实现(implements)父类,子类中也有静态代码块,那么直接调用子类.value输出内容是什么呢?且看代码:package com.example.classloading;public class SuperClass { static { System.out.println("SuperClass ...原创 2019-09-18 21:51:42 · 827 阅读 · 0 评论 -
java并发编程之重入锁
重入锁可以完全替代synchronized关键字,在JDK 5.0早期版本中,重入锁的性能远远好于synchronzied,但是在6.0之后在synchronzied上做了大量的优化,使两者的差距并没那么大的差别。重入锁使用java.util.concurrent.locks.ReentrantLock类来实现,它只是一个类;且看如下代码:package cn.yan.current...原创 2019-09-22 09:59:39 · 204 阅读 · 0 评论 -
Condition:重入锁的好搭档
想必大家都知道,Objet类有wait() ,notify()方法;分别是让线程等待和唤醒,那么condition效果是大同小异的,只不过需要和ReentrantLock搭配使用(而wait和notify是和synchronzied搭配使用的)。由此可见,利用condition对象,我们就可以让线程在合适的时间等待,或在特定的某个时间得到通知,继续执行。Condition接口有以下几个方法:...原创 2019-09-22 10:48:19 · 265 阅读 · 0 评论 -
CountDownLatch 倒计时器
Count down英文释义倒计数,latch为门闩;顾名思义,所以这个类在java中就会用在所有线程都执行完毕之后在执行其他操作的场景,比如说火箭发射等;CountDownLatch的构造函数接受一个整数作为参数,即这个计数器的个数;且看下面CountDownLatch代码:package cn.yan.current;import java.util.Random;import...原创 2019-09-23 11:02:05 · 321 阅读 · 0 评论 -
CyclicBarrier:循环栅栏
CyclicBarrier是另一种多线程并发的是工具,和CountDownLatch非常类似,它也可以实现线程间的计数等待,它的功能比CountDownLatch更加强大。因为CyclicBarrier是循环栅栏,所有的线程必须在栅栏处等待,并且可以循环使用。假设我们将计数器设置为10,那么凑齐第一个10个线程后,计数其就会归0,并重新计算。比如我们要求十个线程一起去执行任务;这时我们需要先让...原创 2019-09-23 15:53:06 · 290 阅读 · 0 评论 -
高并发程序设计之无锁
就人而言,分为被悲观派和乐观派;对于乐天派而言,总是把事情往好的方面想。他们认为所有的事情总是不太容易发生的,出错的几率很小。对于悲观派,他们总是担心意外的发生,所以他们把所有的事情都想的很中哦,确保万无一失。对于并发控制而言,也可以分为悲观锁和乐观锁;我们平时所说的synchronized和ReentrantLock锁都属于悲观锁了;而乐观锁我们往往是通过CAS(Compare And Sw...原创 2019-09-24 11:30:25 · 247 阅读 · 0 评论 -
自定义Mybatis的拦截器
/** * 用于辅助审计日志的生成 * <p> * 拦截 StatementHandler.prepare 方法,针对 insert, update, delete 操作对SQL语句进行修改,并注入操作人以及链路跟踪信息 * <p> * 接入时请设置需要审计的业务表名称列表(属性:auditTables),格式:schema.table */@Interce...原创 2019-09-05 13:54:49 · 663 阅读 · 0 评论 -
设计模式之原型模式
1、原型模式是指使用原型实例来指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式。原型模式能够将一个原型对象传给要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝自己来实现创建过程。在系统中,如果我们需要创建多个相同或者相似的对象,所以在开发过程中会经常使用原型模式。通过拷贝方法创建的对象是是全新的对象,它们在内存中拥有全新的地址,通常对拷贝所产生的...原创 2019-08-20 21:54:01 · 190 阅读 · 0 评论 -
Windows搭建go开发环境
一、 安装go 1)下载地址:http://www.golangtc.com/download,下载后直接双击文件安装,默认安装在c:\go也可以通过网盘下载:http://pan.baidu.com/s/1qYx46Sk,(此处是1.8版本) 2)安装完成后默认会在环境变量 Path 后添加 Go 安装目录下的 bin 目录 C:\Go\bin\,并添加环境变量 GO原创 2017-07-18 14:26:31 · 2823 阅读 · 0 评论 -
java生成pdf文件并在网页下载
项目用maven进行构建,具体代码及依赖如下:不懂得欢迎提问需要的maven的pom文件如下: com.itextpdf itextpdf 5.5.10 com.itextpdf itext-asian 5.2.0 empty/** * pdf文件生成以及下载 * @param response */ ...原创 2017-09-06 19:27:22 · 10995 阅读 · 15 评论 -
Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public class转载 2017-11-23 14:38:42 · 440 阅读 · 0 评论 -
RSA premaster secret error: SunTls12RsaPremasterSecret KeyGenerator not available
用maven构建项目出错,错误信息:RSA premaster secret error: SunTls12RsaPremasterSecret KeyGenerator not available经google是Eclipse设置导致的,设置如下即可解决:Window > Preferences > Java > Installed JREs > jdk8_64bit > Edit.原创 2017-12-10 08:59:04 · 5625 阅读 · 13 评论 -
java之元转万元且保留两位小数
在证券等金融系统中,注册资本一般是显示的时候多少万元,但是注册的时候是用的单位元,故有些时候需要做些转换。代码如下: // 具体的注册资本等信息(单位元) String price = "50000088888"; BigDecimal bigDecimal = new BigDecimal(price); // 转换为万元(除原创 2017-12-03 19:16:52 · 10663 阅读 · 0 评论 -
多线程之ThreadLocal使用(创建线程池)
继上篇之后,此处测试Threadlocal在线程之间传递参数信息,不多做赘述,相应代码及最终结果如下:package com.example.thread.callable.y0120;import java.util.Random;import java.util.concurrent.ExecutorService;import java.util.concurrent.Execu原创 2018-01-21 10:18:52 · 3450 阅读 · 0 评论 -
多线程之ThreadLocal适用场景
今天同事说了一个有意思的问题,如下:有三个方法相互调用,其中A方法调用B方法,B方法调用C方法, * 这三个方法的参数数据结构完全一致,怎么样在不改变方法参数的数据结构情况下多传递一个参数? (注意:是不改变任何参数的数据结构,不能有任何改变)分析:此问题主要考察的是一个全局存储的问题,也是考查临场发挥能力。刚被问的时候确实没回答出来,百度了一把,也没有查询出来,不过今天想了想这个可以用Threa...原创 2018-01-20 22:14:12 · 555 阅读 · 0 评论 -
Spring 5高级编程系列之AOP
1、AOP概念与大多数技术一样,AOP带有自己特定的一组概念和术语,了解他们的含义非常重要。一下是AOP的核心概念。连接点:连接点是应用程序执行期间明确定义的一个点。连接点的简繁实例包含方法调用、方法抵用本身、类初始化和对象实例化。连接点是AOP的核心概念,并且定义了在应用程序中可以使用AOP插入其他逻辑的点。通知:在特定连接点执行的代码就是通知,它是由类中的方法定义的。有许多类型的通...原创 2019-08-04 16:42:41 · 266 阅读 · 0 评论 -
ThreadLocal及其扩展
如有侵权,请作者联系本人。ThreadLocalThreadLocal是线程本地变量,每个线程往这个ThreadLocal中读写是线程隔离,互相之间不会影响的。它提供了一种将可变数据通过每个线程有自己的独立副本从而实现线程封闭的机制。Thread类有一个类型为ThreadLocal.ThreadLocalMap的实例变量threadLocals,也就是说每个线程有一个自己的ThreadL...转载 2019-08-24 15:56:24 · 250 阅读 · 0 评论 -
java自带工具生成Webservice客户端代码(UTF-8编码格式)
通过以下命令生成webservice代码wsimport -encoding utf-8 -keep -d d:\we -s d:\we\java -p io.ju.gen -verbose http://127.0.0.1:9080/depapp/TestWebServicePort?wsdl其中:-encoding :指定编码格式(此处是utf-8的指定格式)-keep:是原创 2017-07-12 19:20:19 · 6141 阅读 · 1 评论