
java
文章平均质量分 59
开发小头目
[2021:目前将Java基础回顾一番(按照下面的顺序):https://jingyan.baidu.com/article/c1a3101e110864de656deb83.html]
[2025:Java之从入门到放弃。 如何炒好一碗兰溪手擀面 ING ]
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mybatis-逆向工程Generator
使用maven的plugin插件 逆向快速生成PO/DO/mapper/mapper.xml 文件,其中各种细节配置看下面:在MAVEN配置文件中需要添加:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD ...原创 2019-07-08 17:51:31 · 142 阅读 · 0 评论 -
2019-12-05 问题记录: 日志 SpringManagedTransaction,JDBC Connection [xxx] will not be managed by Spring
问题:日志中出现这个东西,原来是方法是不带事务的呢,喔唷了解了[2019-12-05 16:11:18,917],[DEBUG],{},org.mybatis.spring.SqlSessionUtils,Creating a new SqlSession[2019-12-05 16:11:18,917],[DEBUG],{},org.mybatis.spring.SqlSession...原创 2019-12-05 21:56:51 · 147 阅读 · 3 评论 -
HttpURLConnection ----GET请求 和 POST请求:
你想要了解HttpUrlConnection吗? ————了解一个httpUrlConnection请求的顺序:一 获取HttpURLConnection getHttpURLConnection二 配置 HttpURLConnectionConfig三 基本参数的上传 get_Param post_Param四 判断请求是否成功成功之后怎么接受返回的信息respResult五原创 2017-07-30 18:19:17 · 1235 阅读 · 0 评论 -
Http socket TimeOut 响应超时时间 “失效“问题
httpclient SocketTimeout ConnectTimeout ConnectionRequestTimeout - 灰信网(软件开发博客聚合)https://www.freesion.com/article/5227692749/CONNECTIONREQUESTTIMEOUThttpclient使用连接池来管理连接,这个时间就是从连接池获取连接的超时时间,可以想象下数据库连接池CONNECTTIMEOUT连接建立时间,三次握手完成时间SOCKETTIMEOUT转载 2022-04-20 14:01:38 · 2221 阅读 · 0 评论 -
java 线程死锁是什么?怎么办?
为什么会出现线程死锁:ps. 这里只给出java的例子,但思想都是一样的使用了同步机制,资源同一时间只能被单个线程占有占有的资源不可以强行剥夺(外部无法操作资源)多线程互相等待彼此占有的资源锁释放举个例子public class DeadLockA implements Runnable{ @Override public void run() { ...原创 2018-12-27 15:07:11 · 804 阅读 · 2 评论 -
怎么使用并发工具类--CountDownLatchCyclicBarrier
怎么使用并发工具类–CountDownLatch/CyclicBarrier1.CountDownLatch2.CyclicBarrier3.这2个工具类的区别就在于 我这里就是简单的介绍使用,并不扩展内部实现的原理(想要了解原理在文章结尾会给对应的链接)1.CountDownLatch 先把一个使用场景说一下 : 我想测试某一个接口能抗住...原创 2018-07-03 11:37:46 · 159 阅读 · 0 评论 -
netty专题 - 1.网络编程基础
不讲计算机组成原理- 就将网络这一块:七层协议OSI (从下网上分析)应用层 HTTP FTP PTP Talent ... 计算机应用,与现实事物进行交互,收集信息/处理信息表达层 将数据转换成机器能够识别的字节码会话层 ...原创 2019-04-24 10:36:05 · 258 阅读 · 0 评论 -
netty专题 - 2.同步异步 / IO
unix 上目前IO种类(同步)阻塞IO BIO非阻塞IO复用IO NIO异步IO AIO我自己练习写了一个BIO:注意点 ----ServerSocket . accept() 会阻塞并且不断循环检查 新接入的socket ------新接入的socket用新线程去执行 socket的 rea...原创 2019-04-24 11:24:59 · 305 阅读 · 0 评论 -
开发内功-设计原则*
开闭原则-OCP 对新增开放,对修改关闭 对测试来说,只需要测试新增模块,减少工作量 增强代码稳定性,健壮性 里氏替换原则 LSP 子类扩张父类功能,但不能改变父类原有方法 依赖倒置原则 DIP 高层模块不依赖底层模块,而是都依赖抽象;抽象不依赖细节 具体操作: 每个动作类-尽量提供接口或抽象类; 变量类型尽量是接口或者抽象类; 任何类实例不应该从具体类派生 遵循里氏替换原则 单一职责原则 SRP 一个类应该只有一项职责,否则应该拆分 优原创 2020-07-22 21:43:47 · 194 阅读 · 0 评论 -
如何快速识别图片类型与图片尺寸大小<JAVA版>
如何快速识别图片类型与图片尺寸大小原创 2022-08-16 19:28:13 · 655 阅读 · 0 评论 -
内存优化--LOGBACK导致内存告警
一.故事背景由于开辟新市场需要,开发了新的项部署在海外平台,其中最消耗内存的功能是消费kafka消息(最开始预计一天有1千万的量),部署完之后运行一段时间发现出现内存告警问题。二.分析问题出现内存告警,(新项目是低配置机器 2C4G * 2台)第一个念头是去查看堆空间设置的情况,看到jvm启动命令中堆空间都是直接指定大小,说明问题不是出在堆空间-Xmx3g -Xms3g先不管这些,去查看总的内存使用情况,发现总的内存空间使用将近有92% = 3.68G,那么这多出来使用的0.6原创 2022-02-10 17:59:08 · 5800 阅读 · 0 评论 -
JVM - 基础命令
JVM命令介绍 命令 介绍 例子 jps -l 查看java线程 图1-1 jstat -gc <pid> <time> 查看<pid>对应的 GC日志信息,每<time>ms 打印一次记录 图1-2 jstack[option]pid 检查栈信息,可以查看java stack 和native stack jmap[option]pid ...原创 2021-05-19 13:50:14 · 160 阅读 · 0 评论 -
Spring-AOP事务怎么开启?什么时候失效?为什么失效?
1.事务怎么开启spring事务有固定的几步:初始化DataSource --- 创建DataSource类IOC注入spring 将DataSource交给Spring --- 创建DataSourceTranscationManager 类注入到spring 开启spring事务 --- @EnableTranscationManager接下来就是关于 connection 怎么 开启和提交事务了 (核心点:事务是从connection上开启)大多数同学使用 mybatis + ..原创 2020-07-17 18:48:29 · 1250 阅读 · 0 评论 -
2020-06-05 日常问题: alipay 证书支付回调证书验签cert
头大,支付宝回调一直提示验证签名失败,这换了证书验签的方式怎么就不行了呢??排查问题签名方式是否正确 sign = RSA or RSA2 证书地址是否正确 使用那种验签方式 rsaCheckV1 orrsaCheckV2 or rsaCertCheckV1 orrsaCertCheckV2 我实际处理问题的方式,将支付宝返回给我们的数据拿出来直接跑main方法校验: public static void main(String[] args) { ...原创 2020-06-08 16:30:48 · 1683 阅读 · 0 评论 -
2020-06-02 日常问题: 对接 alipay 证书支付 (创建订单&支付订单)
2020-06-02 天气:晴转小雨 , 最近在整装修,事情一件接一件,坑也是一个接一个(有时间整个装修踩坑日记)ps.对接支付宝说比对接微信简单,其实都差不多现在来讲讲我支付宝(alipay-sdk-4.5.0-all 版本)对接的过程吧!!!!!一.创建账号 入门第一步,这里要说明的点是需要注意保存信息使用实名认真的支付宝进行登陆 创建应用(需要选择是给哪端使用:app / 网页or移动应用 / ... ) 使用什么支付方式需要开通对应功能(例:App支付宝登陆 / ...原创 2020-06-08 15:48:13 · 4163 阅读 · 0 评论 -
2020-05-13 问题记录: mysql事务-可重复读:导致的一次血案
2020-05-13: 天气晴今天在工作中碰到个有趣的问题:spring 事务管理 mysql更新操作,出现数据幻读,非法更新步骤 A事务 B事务 1 开启事务 开启事务 2 更新A表.name 数据 = 2,name来源B表.name 3 检查B表.name=2字段是否有被A表.name引用,如果有就直接结束本次操作 4 检查name数据=2 是否存在,不存在就抛异常 5 更新B表...原创 2020-05-14 19:17:19 · 180 阅读 · 0 评论 -
java-加载配置资源的姿势!
目录1.SPI使用JDK自带方法:ServiceLoader2.关键点是:load 接口,接口需要配置到 指定目录3.执行结果4.原理分析: 待补充SPI 加载配置文件,一种很常见,但以前我却不知道的方式1.SPI使用JDK自带方法:ServiceLoaderpublic class SpiTest { @Test public vo...原创 2020-04-14 10:27:53 · 225 阅读 · 0 评论 -
java设计模式,我该怎么记住你?
2020/4/13:晴-今天的风,有些萧瑟啊 在了解Spring源码的时候,发现这其中穿插了大量的设计模式,大量的复用代码,非常灵活的扩展性。的确是一件艺术品~,好记性不如烂笔头,这是老师多年一直唠叨的,依旧这么重要。话不多说,开整目录模版模式模版模式1.我自己设置了个记录点:模版包含 步骤public abstract template{ void ...原创 2020-04-13 16:28:53 · 295 阅读 · 2 评论 -
2020-03-21:问题记录:mybatis中foreach循环set ,array ,list...
日常工作中,手写sql一般没什么问题,就是在mybatis中一些小细节要是印象不深刻,那会花费一些时间,影响我们书写的流畅性,就比如最近碰到的mybatis中写foreach 循环 set 的时候1.最开始版本Long countByIds(@Param("adTaskIds") Set<Long> adTaskIds, @Param("userId") Long use...原创 2020-04-01 17:10:46 · 2644 阅读 · 0 评论 -
2020-03-21:问题记录:防伪码生成
背景:公司自主产品,想在系统内嵌套防伪码导出和验证功能,防止产品被假冒 阶段--目前还处于起步阶段,自主品牌名气也还不太大,所以对于防伪码量级上要求不大,在10万级别上1.产品内容 产品的需求可以分成2部分:防伪码的批量导出 单次导出防伪码数量预估在万级左右 导出的防伪码必须是全系统唯一 防伪码校验 防伪码格式校验前端做,减少http请求消耗 单...原创 2020-03-27 20:59:20 · 671 阅读 · 0 评论 -
2020 - 面试刷题 ING(java基础知识点巩固)
养成每年都去面试市场看看的好习惯很重要,看清形势,也认清自己 zzz ...知识点都要见识过,至少有印象:喔唷~~~ 不给性感面试官,在线发offer的机会喽目录1.Java基础知识点分析1.Java入门知识点分析什么是面向对象 * java有哪几种基本数据类型 java语言基本格式 普通类/ 接口类 / 抽象类 / 枚举类 的共性 普通类/ 接口类 区别? 普通...原创 2020-03-14 17:03:56 · 695 阅读 · 2 评论 -
2020-01-10 问题记录::mybatis类型localDateTime报错- No typehandler found
2020-01-10 下雨记录一次mybatis出现的问题:java.lang.IllegalStateException: No typehandler found for property startTime新项目:我是用工具生成mapper 和 xml ,内部都是使用的localDateTime,在配置的时候出现这个问题 typeHandler 类型处理器缺失,必然是没...原创 2020-01-10 20:02:49 · 1058 阅读 · 1 评论 -
2020-01-03 问题记录: :一次 await 导致的问题
日期:2020年1月3日 天气 :阴转小雨 1.在技术对接群中有人喊话:导入供应商合同功能一直没有反应?心想,又是个瞎操作的,我先去测试账号上试一把 ???打脸,赶紧找问题:导入操作是有开始/结束日志的,先看看日志打印到哪儿了 ----------grep XXXX common-info.log ,只有开始的日志没有结束的???现在我手上掌握的信息:...原创 2020-01-06 18:56:07 · 224 阅读 · 0 评论 -
支付流程 - 支付宝
原创 2019-11-20 17:56:27 · 174 阅读 · 0 评论 -
java-基础- 分页的一些工具方法
1.List类型进行分段分页private static List<Object> pageList(List<Object> list, int page, int size){ int listSize = list.size(); int fromIndex = (page * size); int endIndex = (fromInd...原创 2019-08-14 11:16:08 · 111 阅读 · 0 评论 -
java-基础-jsr-303-valid参数校验
1.使用场景2.引用的jar包 javax.validation.constraints 讨论的内容主要是这个包目录下的注解使用⚠️参数校验注解解释 Name 解释 范围 NotBlank(mesage=) 注解的字符串不能为 “” / 空 只能为String类型 NotNull(mesage=) 注解的参数...原创 2019-07-19 13:56:19 · 250 阅读 · 0 评论 -
java基础-7-C -多线程-锁~锁~锁 (不含分布式锁)
JDK给我们提供了很多种不同的锁,每种锁也会有一些独特的性质写这篇文章的目的是为了我自己记录,所以有些我很熟悉的知识点我可能就点一下不会深挖。1. synchronized 关键字在JDK1.5之前的主流锁,强占锁针对的目标是对象,只能对引用类型,也就是继承了超类Object的类创建的对象 (注:在使用Integer对象 a 的值 在 -128~127 之间,能够锁住对象,在...原创 2019-02-22 22:16:01 · 141 阅读 · 0 评论 -
2019-08-23 问题记录:mybatis - 日常工作踩坑
问题11.8 新映入时间类使用出现的问题 :LocalDateTimehttps://blog.youkuaiyun.com/hustzw07/article/details/82824358关于不同jar 配置的关联性问题2:Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: E...原创 2019-08-23 09:25:24 · 683 阅读 · 2 评论 -
java - 随机生成人名/指定位数字符串/手机号 --工具方法
我是一个B话不多的人1.随机生成人名/指定位数字符串package ls.example.test.util;import java.io.*;import java.util.Random;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * Copyright © 2017年 Al...原创 2019-09-07 09:32:59 · 1697 阅读 · 0 评论 -
java - log日志的配置
参考 :https://blog.youkuaiyun.com/RyanDon/article/details/82589989在配置好日志框架 log4j2.xml之后运行一直报错:Logging system failed to initialize using configuration from 'classpath:log4j2.xml'java.lang.IllegalStateE...原创 2020-01-10 18:13:03 · 649 阅读 · 0 评论 -
Nosql - redis 的学习
redis: 是非关系型数据库--- 性能优秀,吞吐量 能达到 10万条/s 为什么性能这么好的: redis是直接操作内存的,底层是C语言实现,更加贴近系统内核 redis是单线程执行的,减少线程竞争与资源的占用 redis命令简单: set key value,语法规则考究,存储的数据结构合理 使用nio的方式---设置固定槽点,每一个槽点针对某...原创 2019-09-25 14:10:54 · 147 阅读 · 1 评论 -
java-String的源码解析
想要将String这个java基础的类吃透,在2019/03/12晚上10点:没有头绪,不知道怎么开头,简单粗暴一点吧,我要将里面的每个方法吃透--------然后再取java-api 上面翻看一遍哪里有偏差http://www.runoob.com/manual/jdk1.6/java/lang/String.html#format(java.util.Locale,%20java.lang....原创 2019-03-14 00:27:16 · 189 阅读 · 0 评论 -
java基础-2-面向对象
什么是面向对象?(以下是我的理解)**1.B事 == 对象之间发生交互对象抽象成程序中的类;对象所拥有的特征与行为,抽象成类中的属性和方法,交互就是对象发生行为,抽象成类的方法调用现实中一件事,A导致B怎么样,A和B抽象成程序中的类导致 可以 是 A类中的方法 ,怎么样 可以是B类中的方法面向对象编程:就是将现实世界中的事情(如:李华游玩长城),变成 person { name ...原创 2019-02-12 14:33:32 · 145 阅读 · 0 评论 -
java进阶-7-D -多线程-Lock专题- LockSupport类
AQS 里面的队列的阻塞和恢复,调用的就是LockSupport的方法来完成:下面将LockSupport的公共方法简单的介绍一边吧功能不多,但是里面的实现细节也是学习的方向方法 返回值 描述 park() void 阻塞当前所在线程 parkNanos(long) void 阻塞当前所在线程 多长时间 parkUntil( long)...原创 2019-02-27 16:13:31 · 157 阅读 · 0 评论 -
java进阶-7-D -多线程-Lock专题- ReentrantReadWriteLock
相比起ReentrantLock ,ReentrantReadWriteLock 更像是将2个ReentrantLock包装到了一起,一个ReentrantLock是独占锁-writeLock,另外一个是共享锁-readLock ,当然这个内部还有一些润滑剂:比如写锁可以降级成读锁,但是读锁无法升级成写锁...1.ReentrantReadWriteLock 实现了那些接口?1....原创 2019-02-27 16:08:47 · 170 阅读 · 0 评论 -
java进阶-7-D -多线程-Lock专题- ReentrantLock类
开篇一张,故事全靠~~~:根据AQS来自己实现一个Lock吧import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.AbstractQueuedSynchronizer;import java.util.concurrent.locks.Condition;import java.util.con...原创 2019-02-27 16:03:42 · 190 阅读 · 0 评论 -
java进阶-7-D -多线程-Lock专题- AQS 之 获取锁:acquire / acquireQueued
1.这个AQS里面最基础也是使用频率最高的一个方法 : acquire - 独占式获取锁 public final void acquire(int arg) { if (!tryAcquire(arg) && acquireQueued(addWaiter(Node.EXCLUSIVE), arg)) ...原创 2019-02-27 16:00:21 · 1844 阅读 · 13 评论 -
java进阶-7-D -多线程-Lock专题- AQS源码剖析
AQS-AbstractQueuedSynchronizer 介绍1.开篇第一件事情,就是先将 Node 这个内部静态类搞清楚了Node{SHARED Node 共享锁的标志 (默认值 new Node()) EXCLUSIVE Node 独占锁标志 (默认 为 null) CANCELLED int 1 该节点的线程已经...原创 2019-02-27 15:59:21 · 184 阅读 · 0 评论 -
java进阶-7-D -多线程-Lock专题- Lock接口
Lock接口1.从关系图来看,这个Lock算是一个核心接口,非常多的地方实现了它就这一眼看过去这几个方法已经把一个锁应该做的事情都列举出来了,可以通过声明Lock实例化对应的接口实现类,来达到面向对象的封装性。 不错Lock的锁与Synchronized的相比 有几个特性 ---实现层面上不同 / Lock可以重入,synchronized是独占 / 只有Lock会造成活锁...原创 2019-02-22 22:21:34 · 200 阅读 · 0 评论 -
java基础- 番外 - retry:放在循环之前的它
retry:for (;;) { ... for (;;) { if (A) break retry; if (B) continue retry; }}第一次看到这个retry:东西一脸懵 什么东西??然后自己的理解了一下,发现是为了解决多层循环嵌套 搞出来的一个东西要是在...原创 2019-02-17 21:54:37 · 376 阅读 · 0 评论