hao同学的技术博客

  • 首页
  • Java
    • Java
    • JVM教程
    • Java面试
    • Java并发入门
    • Java并发进阶
  • 项目
    • 从零打造项目
  • Python
    • Python
    • Python爬虫
    • 算法
  • Java框架
    • Spring
    • SpringBoot
  • 前端
    • Angular
  • 其他
    • Linux
    • SQL
  • 随笔
分享技术,记录人生
一个痴迷于技术的厨艺爱好者
随笔

rollback-only异常令我对事务有了新的认识

背景 环境 相关环境配置: SpringBoot+PostGreSQL Spring Data JPA 问题 两个使用 Transaction 注解的 ServiceA 和 ServiceB,在 A 中引入了 B 的方法用于更新数据 ,当 A 中捕捉到 B 中有异常时,回滚动作正常执行,但是当 return 时则出现org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has b…

2022年9月13日 2条评论 315点热度 2人点赞 hresh 阅读全文
随笔

GraphicsMagick之实践出真知

介绍 GraphicsMagick 是个图片处理库,是从ImageMagick 5.5.2分支出来的,但是现在他变得更稳定和更轻、更快一些 GraphicsMagick 号称图像处理领域的瑞士军刀。 短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作,支持超过88种图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。 通过使用 OpenMP 可是利用多线程进行图片处理,增强了通过扩展 CPU 提高处理能力。GraphicsMagick可以…

2022年9月7日 0条评论 238点热度 0人点赞 hresh 阅读全文
随笔

手把手教你如何利用Java给图片添加文字和图片水印

前言 最近工作上有个需求,动态生成一张图片,具体来说就是基于模版图片动态添加文字和图片(文字内容不同,图片数目不同),其中文字大小不全一样,且对位置有所要求。 本文将剖析多个技术方案来实现水印生成,并最终抉择出最优方案。 技术分析 基于模版图片动态添加文字和图片,需要先调研一下有哪些技术方案,可能添加文字和图片的技术不同。 Graphics2D 利用 JDK 自带的 Graphics2D ,该类扩展 Graphics 类,以提供对几何形状、坐标转换、颜色管理和文本布局更为复杂的控制。它是用于在 Java(tm) 平…

2022年9月5日 0条评论 438点热度 0人点赞 hresh 阅读全文
Java并发进阶

深入理解final关键字

final 关键字在我们学习 Java 基础时都接触过,而且 String 类本身就是一个 final 类,此外,在使用匿名内部类的时候可能会经常用到 final 关键字。那么 final 关键字到底有什么特殊之处,今天我们就来了解一下。 final关键字的基本用法 在 Java 中,final 关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下 final 关键字的基本用法。 修饰类 当用 final 修饰一个类时,表明这个类不能被继承,比如说 String 类。final …

2022年8月16日 0条评论 236点热度 1人点赞 hresh 阅读全文
Java并发进阶

深入理解synchronized关键字

前言 线程安全 在并发编程学习过程中,我们应该都听过“线程安全”这个名称,对于这一概念,我们知道它可以解决并发编程不安全的问题,也有一个简单的印象:“代码在并发环境下,可以安全地被多个线程使用,这就是线程安全“。上述关于“线程安全”的认识大致是对的,我们来看看别人是如何定义“线程安全”的。 《Java并发编程实战(Java Concurrency In Practice) 》 的作者 Brian Goetz 为“线程安全”做出了一个比较恰当的定义: “当多个线程同时访问一个对象时, 如果不用考虑这些线程在运行时环境…

2022年7月21日 0条评论 316点热度 0人点赞 hresh 阅读全文
Java并发进阶

深入理解volatile关键字

前言 volatile 这个关键字可能很多朋友都听说过,它有两个重要的特性:保证可见性和禁止指令重排序。但是对于 volatile 的使用以及背后的原理我们一无所知,所以本文将带你好好了解一番。 由于 volatile 关键字是与 Java的内存模型有关的,因此在讲述 volatile 关键之前,我们先来了解一下 Java 内存模型,然后介绍 volatile 关键字的使用,最后详解 volatile 关键字的原理。废话不多说,我们直接进入正文。 volatile的使用 一旦一个共享变量(类的成员变量、类的静态成员…

2022年7月14日 2条评论 1628点热度 1人点赞 hresh 阅读全文
Java并发进阶

Happens-Before规则详解

在《Java并发编程Bug的源头》一节中提到编译优化会带来有序性问题,具体来说就是 JIT 编译器会进行指令重排序(Instruction Reorder)优化。优化措施引发的有序性问题,Java 语言肯定会注意到,所以就引入了 Happens-Before(先行发生) 原则,它是 JMM 最核心的概念,在 JMM 章节中提到了如何保证可见性和有序性,都和该原则有关联。 对应 Java 程序员来说,理解 Happens-before 是理解 JMM 的关键。这个原则非常重要, 它是判断数据是否存在竞争,线程是否安全…

2022年7月6日 0条评论 375点热度 0人点赞 hresh 阅读全文
Java并发进阶

Java并发编程Bug的源头

相信大家都听说过并发编程,面试中也经常会被提问这一知识点,有时候让讲讲自己有没有并发编程的经验,细致地讲一下。结果可想而知,理论知识还可以说一说,但没多少实践经验,更让人头疼的是理论与实践差距极大。在工作中,系统的并发量比较低,借助数据库和类似 Tomcat 这种中间件,我们基本上不用写并发程序。 总之一句话,系统并发量不高的时候,并发问题基本上都被中间件和数据库解决了,或者系统数据量比较庞大,对性能有所要求,此时就需要用到并发编程了。 并发编程是个好东西,但天下没有免费的午餐,凡事都是有代价的,获得高性能的同时,…

2022年7月5日 1条评论 370点热度 0人点赞 hresh 阅读全文
随笔

高考报志愿:可惜当年填志愿时,没人告诉我这些...

又到了差不多一年一度的高考志愿填报的时候了。距离我自己填志愿已经过去了很久,现在回头想想看,自己填志愿真的是随便,什么事情都没有提前了解,甚至最后录取的那个学校还是朋友给我填写的,直到拿到录取通知书我才知道这个学校。 今年轮到我弟参考高考了,不久后将要填写志愿了,作为哥哥,我觉得有必要帮他完成人生中目前最重要的事情。这个决定会在很大程度上改变人的一生,必须要慎重。经过这些年的摸爬滚打,关于报志愿的选择,我坚信这样一个原则:城市>学校>专业。 当然,这个原则是适用于大部分不确定方向,才做这次选择的学生。如果你一开始就…

2022年6月28日 0条评论 283点热度 0人点赞 hresh 阅读全文
随笔

Code Review实践小结

Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题。包括像Google、微软这些公司,Code Review 都是基本要求,代码合并之前必须要有人审查通过才行。 虽然 Code Review 很重要,但认真做 Code Review 的很少,有的流于形式,有的可能根本就没有 Code Review 的环节,代码质量只依赖于事后的测试。也有些团队想做好代码审查,但不知道怎么做比较好。 本文主要结合自己的经验,总结整理了一下 Code Review 的最…

2022年6月27日 0条评论 247点热度 1人点赞 hresh 阅读全文
12345…21

hresh

这是一个专注于IT技术学习交流的个人技术博客网站,包括Java学习、Python爬虫、Web开发实践等领域,深耕Java领域,内容涵盖Java基础、Java并发编程、Java虚拟机、Java面试等核心知识点。

最新 热点 随机
最新 热点 随机
后端必知:遵循Google Java规范并引入checkstyle检查 Spring Security结合Redis实现缓存功能 Spring Security结合JWT实现认证与授权 Spring Security自定义认证逻辑实现图片验证码登录 Spring Security进阶学习 Spring Security入门学习
js 分析——百度模拟登录(二) 你真的了解垃圾回收吗 Python3 和 Python2 区别总结 Java并发编程Bug的源头 Java面试准备之Spring框架系列三 Java面试准备之Spring框架系列四
分类
  • Angular / 11篇
  • Java / 6篇
  • Java并发入门 / 7篇
  • Java并发进阶 / 7篇
  • Java面试 / 24篇
  • JVM教程 / 25篇
  • Linux / 3篇
  • Python / 13篇
  • Python爬虫 / 17篇
  • Spring / 27篇
  • SpringBoot / 8篇
  • SQL / 6篇
  • 从零打造项目 / 19篇
  • 算法 / 18篇
  • 随笔 / 16篇
最近评论
1 发布于 4 个月前(09月29日) :lol: :twisted: 发发
roydon 发布于 4 个月前(09月27日) 加个友链吗大佬。 我的site:https://roydon.xyz
Javmag 发布于 4 个月前(09月21日) :rolleyes: Theme Kratos Made By Seaton Jiang.
小wu 发布于 5 个月前(09月06日) 宝藏up关注了 :arrow:
罗简单 发布于 7 个月前(07月17日) 您好,我们有一个网站需要爬取数据,参数也加密了,需要您的帮助,付费,请问如何联系到您? 我的vx是...
友链
  • roydon roydon
  • 雨临Lewis的博客 雨临Lewis的博客

COPYRIGHT © 2022 hao同学的技术博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备2022007381号

鄂公网安备 42010302002449号