java
文章平均质量分 67
KillCom
作为一个领导人,应该控制自己的情绪,很多时候发脾气是无能的表现,合理的情绪控制对于团队的和谐,稳定军心有大作用。
展开
-
将本地JAR包上传到maven私服
1.登陆nexus私服2.上传过程(因私服不同 ,可能页面样式不一样)命令上传:通过使用maven的deploy命令将本地jar上传到指定的私服中,步骤如下:1.当然首先需要搭建一个私服环境,此处不做过多的介绍2.配置maven环境变量3.执行命令上传命令格式如下:mvn deploy:deploy-file -...原创 2019-03-06 09:08:18 · 19267 阅读 · 1 评论 -
Kafka监控工具,LinkedIn详解
Kafka Monitor:这是LinkedIn开发的一个监控工具,可以监控Kafka集群的健康和性能,并提供基于Web的用户界面。Kafka Manager:这是一个开源的Kafka集群管理工具,可以监控Kafka集群的健康和性能,并提供可视化的用户界面。Kafka-Web-Console:这是一个基于Web的Kafka监控工具,提供了Kafka集群的状态和健康状况的实时更新。Burrow:这是一个开源的Kafka监控工具,可用于监控Kafka消费者偏移量,并通过可视化界面提供警报和报告。原创 2023-08-30 15:46:06 · 1425 阅读 · 2 评论 -
Java源码-servlet源码解析
getParameter方法获取请求参数的值,getParameterMap方法获取所有请求参数的映射,getParameterValues方法获取指定参数名的所有值,getParameterNames方法获取所有请求参数名的枚举,getHeader方法获取指定头部信息的值,getHeaderNames方法获取所有头部信息的枚举,getMethod方法获取请求方法(GET、POST等),getSession方法获取HttpSession对象。该接口定义了Servlet生命周期方法和服务方法。原创 2023-08-15 09:40:21 · 419 阅读 · 0 评论 -
Java源码-Session源码解析
Java中的Session接口用于在客户端和服务器之间跟踪会话状态。StandardSession类中包含了大量的代码,实现了Session接口中的各种方法,并存储了关于Session的各种属性。此外,它还实现了一些内部方法,用于处理Session的状态和过期。总体来说,Session接口是Java Web应用程序中非常重要的一部分,可以帮助开发人员管理客户端和服务器之间的会话状态,确保应用程序能够正常运行并提供优秀的用户体验。在Java中,实现Session接口的类通常是由Web容器提供的。原创 2023-08-14 17:42:36 · 246 阅读 · 0 评论 -
Java源码-SqlSessionFactory源码解析
SqlSessionManager也实现了SqlSessionFactory接口,不同的是它是线程安全的,这意味着多个线程可以共享同一个SqlSessionManager实例,并且可以通过它来获取SqlSession实例。SqlSessionManager的源码实现就不再赘述了,有兴趣的读者可以自行了解。SqlSessionFactory是MyBatis框架的核心接口之一,它的主要作用是创建SqlSession对象,而SqlSession则是执行SQL语句的关键对象。原创 2023-08-11 09:45:06 · 146 阅读 · 0 评论 -
Java源码-Context源码解析
Context是Android中的一个重要的概念,在Android开发中可以用来获取应用程序的各种信息,如Activity、Service、Application等等。在Android中,Context是一个抽象类,它提供了很多方法用于获取当前应用程序的各种信息。ActivityThread是Android系统中的一个重要的类,它用于管理应用程序的主线程,同时也负责处理Activity、Service、BroadcastReceiver等组件的生命周期。下面我们来看一下Context的源码实现。原创 2023-08-08 14:44:37 · 318 阅读 · 0 评论 -
java源码-Application源码解析
如果您想深入了解 Spring 框架的源代码,您可以参考 Spring 官方提供的源代码,了解 Spring 的内部工作原理以及如何在自己的应用程序中使用它。Spring Framework 是一个开源的应用程序框架和控制反转容器,它是用于构建企业级应用程序的解决方案,提供了一种优雅的方式来构建应用程序,因为它能够实现高效的开发和轻松的维护。Spring 框架的核心是一个控制反转(IoC)容器,这个容器负责管理应用中的对象,在应用程序的整个生命周期中,负责实例化、配置和组装应用程序中的对象。原创 2023-08-08 11:17:23 · 144 阅读 · 0 评论 -
java源码-Date源码解析
这个方法用于比较两个日期和时间的先后顺序,如果该Date对象所表示的日期和时间早于anotherDate对象所表示的日期和时间,则返回-1;Date类中还提供了两个方法getTime()和setTime(long time),其中getTime()方法可以获取该Date对象所表示日期和时间的毫秒数,而setTime(long time)方法则可以将该Date对象所表示日期和时间的毫秒数设置为指定的毫秒数。Java中Date类是一个表示日期和时间的类,它是继承自Object类的一个类。原创 2023-08-04 11:09:21 · 263 阅读 · 0 评论 -
java源码-Object源码解析
方法是最常用的方法,在集合框架中也很常用,因为它们用于比较对象的相等性和计算哈希值。因此,在自定义类中需要重写这两个方法来实现对象相等性的比较和哈希码的计算。Object是Java中所有类的父类。需要注意的是,Object类的。原创 2023-08-03 16:29:32 · 123 阅读 · 0 评论 -
java源码-Long源码解析
Java虚拟机为Long类型提供了运算指令和类型转换指令,可以直接对Long类型的数据进行加减乘除等数学运算,也可以将Long类型的数据转换为其他类型的数据。总之,Long类型是Java语言中的一种基本数据类型,它的实现与其他基本数据类型类似,但也有一些特殊之处。其中,最常用的常量是MAX_VALUE和MIN_VALUE,它们分别表示Long类型可表示的最大值和最小值。- Long(long value):将long类型的数据转换为Long类型。- 比较方法:用于比较两个Long类型的数据的大小关系。原创 2023-08-03 16:26:30 · 316 阅读 · 0 评论 -
java源码-Integer源码解析
总之,Integer是一个非常常用的基本数据类型包装类,它提供了一些常量和方法,在程序开发中经常被使用到。- Integer(int value):构造一个Integer对象,它的值为value。- valueOf(int i):返回一个表示整型i的Integer对象;- toString():返回表示Integer对象的字符串。- bitCount(int i):返回整型i中的1的个数等。- intValue():返回Integer对象的值。- value:用来存储Integer对象的值。原创 2023-08-01 09:36:23 · 129 阅读 · 0 评论 -
java源码-Map源码解析
根据key删除一个键值对,首先根据key的hashCode值计算出数组下标,在对应的位置上遍历链表或红黑树,查找是否存在该key,如果存在则删除对应的Entry对象,并返回对应的value,否则返回null。根据key获取对应的value,首先根据key的hashCode值计算出数组下标,在对应的位置上遍历链表或红黑树,查找是否存在该key,如果存在则返回对应的value,否则返回null。1. put(key, value):将一个键值对存入Map中,如果已经存在该键,则会更新该键对应的值。原创 2023-07-31 17:47:26 · 280 阅读 · 0 评论 -
java源码-List源码解析
grow(int minCapacity)方法会创建一个新的Object数组,并将原来的Object数组中的元素复制到新数组中,然后将新数组赋值给elementData变量。add(E e)方法是最常用的添加元素的方法,它将元素添加到ArrayList的末尾。Java中的List是一个接口,它定义了一组操作列表的方法。以上是一个简单的ArrayList类的源码解析,可以帮助我们更好地理解List接口的实现和内部实现原理。// 删除列表中与指定集合中元素相同的元素。原创 2023-07-28 09:14:15 · 1005 阅读 · 0 评论 -
java源码-String源码解析
这些字符组成了字符串。在String类中,所有的方法都是线程安全的,因为Java中的所有类的方法都是默认同步的(synchronized)。String类的实现主要是依靠`char[]`存储字符串的字符,而且Java中的String对象是不可变的。String类中有一个私有属性`value`,它表示了这个字符串对象的字符数组,跟`final`关键字一起使用,保证了这个字符数组的内容不能被改变。在JDK源码中,String类的源码位于`java.lang`包下,文件名为`String.java`。原创 2023-07-27 14:55:24 · 326 阅读 · 0 评论 -
springboot整合mybatis,(Mybatis对缓存提供支持,是默认开启一级缓存)多次查询返回相同查询结果后修改其中一条的值导致返回结果全部修改
for (int i=0;i<3;i++){ Customer customer = customerMapper.selectById(1); if(i==2){ customer.setName("呵呵自定义哦"); } customerList.add(customer);}结果是:[Customer(name=呵呵自定义哦, phone=15928002800, age=22, sex=MAN), Customer(name...原创 2021-01-28 09:49:24 · 392 阅读 · 1 评论 -
springBoot2.0文件上传读取 大小限制配置
spring: servlet: multipart: max-file-size: 20MB max-request-size: 100MB原创 2020-10-26 14:13:16 · 435 阅读 · 0 评论 -
电子围栏算法(判断一个点是否在一个多边形内)
//判断一个点是否在多边形内 public static boolean isPtInPoly(Point2D.Double point, List<Point2D.Double> pts) { int N = pts.size(); boolean boundOrVertex = true; //如果点位于多边形的顶点或边上,也算做点在多边形内,直接返回true int intersectCount = 0;//cross poi...原创 2020-08-28 13:53:41 · 5237 阅读 · 1 评论 -
java异步批量插入返回主键列表
StringBuffer buffer = new StringBuffer(); ExecutorService fixedThreadPool = Executors.newFixedThreadPool(10); List<Future> listFuture = new ArrayList<Future>(); for (int i = 0; i < number; i++) { ...原创 2020-08-28 09:14:49 · 361 阅读 · 0 评论 -
excel导入数据到数据库 文件上传通过流再上传到第三方服务器(含批量上传)
import com.alibaba.fastjson.JSON;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFDateUtil;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.user..原创 2020-08-20 11:56:30 · 681 阅读 · 0 评论 -
java Web项目上传图片储存到项目下
@RequestMapping(value = "/mi/upload", method = RequestMethod.POST) @ResponseBody public MyResponse upload(HttpServletRequest request, @RequestParam("file") MultipartFile file) { long...原创 2019-11-21 10:07:53 · 3013 阅读 · 0 评论 -
JAVA编程算法思想(字符串压缩)
题:输入一串字符,请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。例如:aac 压缩为 1acxxxxyyyyyyzbbb 压缩为 3x5yz2b public static void main(String[] args) { String sb = "xxxxxxxxxyyyyyyyyds"; S...原创 2019-11-18 11:11:45 · 229 阅读 · 0 评论 -
java面象对象总结
面向对象总结:JAVAOOP :object oriented programming 面向对象编程面向对象的三大特征:封装、继承、多态Java:方法格式: [权限修饰符(public) static] 返回值类型 方法名(形参列表){ 方法体; [return 返回值];}方法有几种形式: 1、无参...原创 2019-11-15 09:43:10 · 202 阅读 · 0 评论 -
java 导出txt,java生成txt,并写入内容,java读取txt文本内容
public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputSt...原创 2019-11-15 09:38:52 · 1282 阅读 · 0 评论 -
java抽象类使用
package com.swxc.admin.handler;import com.swxc.admin.service.couponRule.CouponRuleService;import com.swxc.admin.utils.BaseUtil;import java.util.Map;/** * @作者:huangliang * @时间:2019-10-9 11:12...原创 2019-10-17 16:07:41 · 120 阅读 · 0 评论 -
Java解决Emoji表情存储
mysql 的 utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。但是修改这个配置太繁琐了,容易出错,emoji-java这个库可以在代码段解决这个问题,解决思路: 我可以存储为:smile:,存储为:cry:1、引入依赖<dependency&g...原创 2018-06-13 13:40:53 · 5426 阅读 · 3 评论 -
java8函数式编程
什么是函数式编程函数式编程并不是Java新提出的概念,其与指令编程相比,强调函数的计算比指令的计算更重要;与过程化编程相比,其中函数的计算可以随时调用。当然,大家应该都知道面向对象的特性(抽象、封装、继承、多态)。其实在Java8出现之前,我们关注的往往是某一类对象应该具有什么样的属性,当然这也是面向对象的核心--对数据进行抽象。但是java8出现以后,这一点开始出现变化,似乎在某种场景下,更加关...原创 2018-05-24 17:04:15 · 302 阅读 · 0 评论 -
RestTemplate在Hearder中传参
RestTemplate client = new RestTemplate();HttpHeaders headers = new HttpHeaders();headers.add("siteId", siteId);HttpEntity<String> requestEntity = new HttpEntity<>(null, headers);JSO...原创 2018-04-23 13:39:16 · 786 阅读 · 3 评论 -
idea启动TOMACT时端口被JVM占用
Unable to open debugger port (127.0.0.1:49800): java.net.BindException "Address already in use: JVM_Bind"原创 2018-04-04 14:43:14 · 702 阅读 · 0 评论 -
返回指定类型格式的日期注解
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss",locale = "zh",timezone = "GMT+8")原创 2018-03-19 10:55:45 · 1662 阅读 · 0 评论 -
Set 遍历
1.迭代遍历:Set<String> set = new HashSet<String>();Iterator<String> it = set.iterator();while (it.hasNext()) { String str = it.next(); System.out.println(str);}2.for循环遍历:for (String st...原创 2018-02-22 10:38:51 · 539 阅读 · 0 评论 -
Java - 二叉树
二叉树指的是每个节点最多只能有两个子树的有序树。通常左边的子树被称为“左子树”,右边的子树被称为“右子树”。由此可见,二叉树仍然是树,只是一种特殊的树。二叉树的每个节点最多只有两棵子树(不存在大于2的节点)。二叉树有左、右之分,不能颠倒。树和二叉树的两个重要区别如下:1.树中节点的最大度数没有限制,而二叉树节点的最大度数为2,也就是说,二叉树的节点最大度数为2。2.无序树的节点无左右之分,而二叉树...转载 2018-02-08 11:01:59 · 324 阅读 · 0 评论 -
cron表达式
cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义。cron有如下两种语法格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year 或 Seconds Minutes Hours DayofMonth Month DayofWeek每一个域可出现的字符如下: S原创 2018-01-10 14:17:20 · 199 阅读 · 0 评论 -
think in java记录(一)循环中 “标签”的使用
“标签”是后面跟一个冒号的标识符,就象下面这样:label1:对Java 来说,唯一用到标签的地方是在循环语句之前。进一步说,它实际需要紧靠在循环语句的前方——在标签和循环之间置入任何语句都是不明智的。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环或者一个开关。这是由于break 和continue 关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在原创 2018-01-25 14:17:49 · 201 阅读 · 0 评论 -
中高级Java程序猿代码优化的细节
1、尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的final方法...原创 2018-06-08 10:47:07 · 598 阅读 · 0 评论 -
mysql 杀掉会话
执行命令:show processlist ;显示的数据里有个id字段,就是sessionid,执行 kill id就可.查询出所有需要Killd的Id;select concat('KILL ',id,';') from information_schema.processlist where user='root';...原创 2018-07-11 09:06:01 · 8361 阅读 · 1 评论 -
jsp取前缀路径
<%String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort();%>原创 2018-07-13 16:25:15 · 937 阅读 · 0 评论 -
防止重复提交分布式锁和redis延时提交机制
1.redis分布式锁package com.swxc.core.lock;import org.springframework.stereotype.Component;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.Transact...原创 2019-09-29 16:19:54 · 340 阅读 · 0 评论 -
基于rdeis实现分布式事务锁
问题:多个线程同时进行购买商品操作,减库存,增加记录数据操作会出现库存为-1的情况。1.使用同步锁(synchronized 或 Lock),在单线程同步进行情况下不会出现库存-1的情况2.分布式多个节点多线程同步进行请求会出现同步锁无法解决的问题,依旧出现多减库存的情况。解决思路(一):redis分布式事物锁思路:主要用到的redis函数是setnx(),这个应该是实现分布式锁最...原创 2019-09-27 20:25:20 · 346 阅读 · 1 评论 -
redis缓存和mysql读写一致性问题总结
今天陪大家来一起研究下redis缓存和数据库双写一致性问题我相信redis对于大多数程序猿并不陌生,大家在日常使用中肯定会遇到双写一直性问题,当然对于这个问题的解决方案大家肯定都各有见解,那么今天我就给大家总结一下常见解决方案先做一个说明,从理论上来说,给缓存设置过期时间,是保证最终一致性的终极解决方案。这种方案下,我们可以对存入缓存的数据设置过期时间,所有的写操作以数据库为...原创 2019-09-05 10:13:11 · 1726 阅读 · 0 评论 -
java加密签名MD5,Base64,SHA1,HMAC总结
我们在日常编程中总会遇到各种签名算法,今天总结一下常用签名加密MD5,Base64,SHA1,HMAC..... 在签名之前我们通常会把参数排序,下面先列举2种排序方法: /** * 签名排序一( ASCII 码从小到大排序(字典序)) * * @param map * @return */ public stat...原创 2019-09-03 14:26:00 · 600 阅读 · 0 评论