Byte、data
码龄5年
关注
提问 私信
  • 博客:19,236
    19,236
    总访问量
  • 30
    原创
  • 511,653
    排名
  • 1
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2019-06-07
博客简介:

jawnhaha的博客

查看详细资料
个人成就
  • 获得10次点赞
  • 内容获得1次评论
  • 获得34次收藏
创作历程
  • 7篇
    2021年
  • 29篇
    2020年
成就勋章
TA的专栏
  • 并发
    5篇
  • Java
    5篇
  • jvm
    1篇
  • maven
    3篇
  • elasticsearch
    1篇
  • mybatis学习笔记
    6篇
  • Oracle
    2篇
  • wmware
    1篇
  • springMvc学习笔记
    3篇
  • spring学习笔记
    8篇
  • web
    1篇
  • LInux
    1篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

深入String类不可变特性

String不可变的分析一.从代码层面分析二.从内存结构角度分析三.可以通过反射来修改char数组的值四.一个例题一.从代码层面分析二.从内存结构角度分析三.可以通过反射来修改char数组的值四.一个例题一.从代码层面分析:string源码中真正存储元素的容器是final修饰的char数组,而且没有提供set方法来提供对它的修改,这是首先在代码层面上保证了不可变性。而如StringBuilder和StringBuffer的char数组是提供了set方法,可以修改的。(真正的容器char数组是
原创
发布博客 2021.04.09 ·
448 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

虚引用的总结

这个是虚引用源码中的描述,大概意思如下:与软引用和弱引用不同,虚引用在进入队列时不会被垃圾收集器自动清除。通过虚引用可访问的对象将一直保持这种状态,直到所有此类引用被清除或其本身成为不可访问的。解释如下:1.虚引用的作用是用来跟踪它所引用的对象被垃圾收集器回收的活动。2.和软,弱引用不同,它必须和引用队列联合使用,它是在对象被回收前就加入引用队列中的。3.当垃圾回收器准备回收一个对象时,如果发现它还有虚引用,就把它对应的虚引用加入到与之关联的引用队列中。这样就可以通过判断引用队列中是否.
原创
发布博客 2021.04.08 ·
2894 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

读写锁-ReadWriteLock

读写锁一.读写状态的设计二.写锁的获取和释放三.读锁的获取与释放四.锁降级一.读写状态的设计回想之前ReentrantLock重入锁中,同步状态state表示锁被一个线程重复获取的次数。读写锁的同步状态state表示维护多个读线程和一个写线程的状态,这个同步状态的高16位表示读状态,低16位表示写状态假设当前同步状态值为S,写状态等于S & 0x0000FFFF(将高16位全部抹去),读状态等于S>>>16(无符号补0右移16位)。当写状态增加1时,等于S+1(低16位的
原创
发布博客 2021.03.12 ·
296 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

重入锁-ReentrantLock

ReentrantLock一级目录二级目录三级目录一级目录二级目录三级目录
原创
发布博客 2021.03.12 ·
3247 阅读 ·
2 点赞 ·
0 评论 ·
8 收藏

AQS总结和部分源码分析

AQS1.介绍队列同步器的接口2.队列同步器的实现分析1.同步队列介绍2.独占式同步状态获取和释放3.共享式同步状态获取和释放4.独占式超时获取同步状态和释放1.介绍1 . 队列同步器AbstractQueuedSynchronizer(简称同步器), 用来构建锁或者其他同步组件的基础框架,它使用一个int成员变量(用volatile修饰的) 表示同步状态,通过内置的FIFO同步队列来完成对资源获取线程的排队工作.2 . 同步器的主要使用方式是继承,子类通过继承同步器并实现它的抽象方法来管理同步状态
原创
发布博客 2021.03.11 ·
195 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

CAS的内存语义

一.首先介绍CAS的含义使用CAS操作要两个变量,即预期值expect和更新值update都是 int类型的;JDK文档对该方法的说明如下:如果当前状态值等于预期值,则以原子方式将同步状态值设置为给定的更新值。此操作具有volatile读和写的内存语义;二.从编译器和处理器的角度来分析CAS如何具有volatile读和写的内存语义前面学过了volatile具有禁止指令重排序的作用,即:1)编译器不会对volatile读和volatile读后面的任意内存操作重排序;2)编译器不会对volatil
原创
发布博客 2021.03.10 ·
512 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Synchronized和Volatiole关键字的作用及区别

一.synchronized关键字的作用多线程共同操作共享数据时。关键字synchronized可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块;synchronized可以保证一个线程的变化可见(可见性),即可以代替 volatile。二.volatile关键字作用保证变量可见性禁止指令重排序目的:1.避免了多线程环境下程序出现乱序执行的现象 ;2.防止编译器和处理器对某些不存在数据依赖的数据进行重排序导致结果出错;保证此变量对所有的线程的可见
原创
发布博客 2021.03.08 ·
499 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

与maven的pom文件相关的一些错误

问题一:IDEA的Project Structure中的libraries中存在一些jar包文件出现红色波浪下划线:1.找到该classes文件位置查看该jar包在仓库中是否存在,如果不存在则可以去网站里下载需要的jar包然后配置classes文件,如果仓库中存在则重新配置;2.可以把含有红色下划线的jar包删除,然后Reimport解决问题二:pom文件正常了但是引入的类还是爆红色。如果说当你在pom文件里面就没有发现依赖包有问题,pom文件一切正常,那可能是缓存在作怪。你可以试着清一下缓存(In
原创
发布博客 2020.09.11 ·
302 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

windows运行elasticsearch.bat黑窗口闪退

windows运行elasticsearch.bat黑窗口闪退解决:方法1.参考:https://blog.csdn.net/weixin_39723544/article/details/95107274?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-bl
转载
发布博客 2020.07.21 ·
889 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Mybatis插件-PageHelper的使用

一.PageHelper介绍PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例如mysql、oracle、mariaDB、DB2、SQLite、Hsqldb等。1.本项目在 github 的项目地址:https://github.com/pagehelper/Mybatis-PageHelper2.本项目在 gitosc 的项目地址:http://git.oschina.net/fre/Mybatis_PageHelper二.PageHelper
原创
发布博客 2020.07.18 ·
255 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

maven应用中的一些概念

maven工程要导入jar包的坐标,就必须要考虑解决jar包冲突。 解决jar包冲突的方式一: 第一声明优先原则:哪个jar包的坐标在靠上的位置,这个jar包就是先声明的。 先声明的jar包坐标下的依赖包,可以优先进入项目中。 maven导入jar包中的一些概念: 直接依赖:项目中直接导入的jar包,就是该项目的直接依赖包。 传递依赖:项目中没有直接导入的jar包,可以通过项目直接依赖jar包传递到项目中去。 解决jar包冲
原创
发布博客 2020.07.14 ·
181 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

解决maven导入Oracle11g的ojdbc6.jar

不同版本的Oracle对应的jar包:使用的是Oracle11g,第一次配置ojdbc6.jar时下面的代码一直爆红色:原因是ojdbc6.jar不能从网络上下载,要从本地上传:1.先下载ojdbc6.jar:https://mvnrepository.com/artifact/oracle/ojdbc6/11.2.0.3 下载需要的jar包2.在下载好的目录下输入cmd进入dos窗口:3.在dos窗口输入命令:mvn install:install-file -DgroupId=com.
原创
发布博客 2020.07.13 ·
789 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

oracle的一些函数使用

----1.首字母大写函数:initcapselect initcap(‘initcap’) from dual;---- 2.字符串拼接函数:concat和||select concat(ename,‘jjjjjjjj’) from emp;----函数只能放两个参数select ename||’,’||sal from emp;----’||'拼接要拼接有效的内容,如数据可以中真实存在的属性----3.字符串截取函数:substr和instrselect substr(‘hello sal’
原创
发布博客 2020.07.11 ·
122 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vmware虚拟机中模拟的xp系统和windows 10系统主机共享文件

今天学习Oracle数据库,想要在虚拟机模拟的xp系统中安装Oracle数据库,最开始是使用虚拟机自带的VMware tools工具进行安装,但是一直没用。找了很久终于找到方法了,头发也快掉完了。最终解决方法:https://wenku.baidu.com/view/8fc8c75f312b3169a451a41a.html...
转载
发布博客 2020.07.03 ·
1416 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

springMvc-day02-2-拦截器

一. 拦截器的概述SpringMVC框架中的拦截器用于对处理器进行预处理和后处理的技术。可以定义拦截器链,连接器链就是将拦截器按着一定的顺序结成一条链,在访问被拦截的方法时,拦截器链中的拦截器会按着定义的顺序执行。拦截器和过滤器的功能比较类似,有区别:1. 过滤器是Servlet规范的一部分,任何框架都可以使用过滤器技术。2. 拦截器是SpringMVC框架独有的。3. 过滤器配置了/*,可以拦截任何资源。4. 拦截器只会对控制器中的方法进行拦截,jsp,html页面等不会拦截。拦截器也是
原创
发布博客 2020.06.24 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

springMvc-day02-1-响应数据和结果视图

一. 返回值分类1. 返回字符串Controller方法返回字符串可以指定逻辑视图的名称,根据视图解析器为物理视图的地址/** * 测试返回String,实际开发中就是从数据库查询出来数据然后返回到页面上 * @param model * @return */ //二级目录 @RequestMapping("/testString") public String testString(Model model){ Sys
原创
发布博客 2020.06.23 ·
143 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

springMvc-day01-入门案例流程和RequestMapping注解

入门案例流程总结:创建WEB工程,引入开发的jar包具体的坐标如下:省略…配置核心的控制器(配置DispatcherServlet)在web.xml配置文件中核心控制器DispatcherServlet:<!-- SpringMVC的核心控制器 --><servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.sprin
原创
发布博客 2020.06.21 ·
164 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

spring-day04-事务控制

一.基于xml的事务控制配置:spring中基于XML的声明式事务控制配置步骤 1、配置事务管理器 2、配置事务的通知 此时我们需要导入事务的约束 tx名称空间和约束,同时也需要aop的 使用tx:advice标签配置事务通知 属性: id:给事务通知起一个唯一标识 transaction-manager:给事务通知提供一个事务管理
原创
发布博客 2020.06.20 ·
175 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

spring-day04-jdbcTemplate的两种使用

一.使用注解的方式配置jdbcTemplate:这种需要在dao中声明jdbcTemplate@Repositorypublic class AccountDaoImpl2 implements IAccountDao { @Autowired private JdbcTemplate jdbcTemplate; @Override public Account findAccountById(Integer accountId) { List<
原创
发布博客 2020.06.20 ·
103 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

spring-day03-面向切面编程AOP

一.切入点表达式的写法:spring中基于XML的AOP配置步骤 1、把通知Bean也交给spring来管理 2、使用aop:config标签表明开始AOP的配置 3、使用aop:aspect标签表明配置切面 id属性:是给切面提供一个唯一标识 ref属性:是指定通知类bean的Id。 4、在aop:aspect标签的内部使用对应标签来配置通知的类型 我们现在示例是让printLog方法在切入点方法执行之
原创
发布博客 2020.06.19 ·
150 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多