一颗炽热的
码龄7年
关注
提问 私信
  • 博客:169,045
    社区:89
    169,134
    总访问量
  • 169
    原创
  • 1,144,292
    排名
  • 16
    粉丝
  • 0
    铁粉

个人简介:念念不忘 必有回响

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2017-10-10
博客简介:

TIANJIAWEN的博客

查看详细资料
个人成就
  • 获得68次点赞
  • 内容获得16次评论
  • 获得436次收藏
  • 代码片获得762次分享
创作历程
  • 85篇
    2022年
  • 84篇
    2021年
成就勋章
TA的专栏
  • android
  • 秋招冲冲
    13篇
  • Linux
    2篇
  • Java基础知识
    23篇
  • SSM
    18篇
  • MySQL数据库
    2篇
  • JDBC
    1篇
  • Java设计模式
    23篇
  • Java数据结构和算法
    13篇
  • LeetCode 每日刷题
    53篇
兴趣领域 设置
  • Java
    java
  • 移动开发
    androidkotlinandroid studiogradle
创作活动更多

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

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

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

Linux常见目录说明

Linux常见目录说明
原创
发布博客 2022.08.08 ·
631 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Linux 进程管理

cpu用于计算执行优先级的因子数值越大表明进程是cpu密集型运算执行。TTY(完整的终端名称)终端设备,发起该进程的设备识别符号,如果显示‘?kill进程名称(通过进程名称杀死进程也支持通配符这在系统因负载过大而。ps-ef|grepxxx功能描述可以查看子父进程之间的关系。%CPU占用的CPU资源的百分比占用越高进程越耗费资源。TIME该进程占用CPU的运算时间注意不是系统时间。%MEN占用的内存使用率占用越高进程越耗费资源。.........
原创
发布博客 2022.07.31 ·
372 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring-ApplicationContext refresh的流程

refresh的12个步骤 1.prepareRefresh //完成整体的准备工作 2.obtainFreshBeanFactory //2-6完成beanfactory的准备工作 3.prepareBeanFactory 4.postProcessBeanFactory 5.invokeBeanFactoryPostProcessors 6.registerBeanPostProcessors
原创
发布博客 2022.06.28 ·
501 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JVM内存结构

1.哪些部分会出现内存溢出 ①不会出现内存溢出的区域-程序计数器 ②内存溢出的两种类型 Ⅰ出现OutOfMemoryError的情况 1️⃣堆内存耗尽-对象越来越多,又一直在使用,不能被垃圾回收 2️⃣方法区内存耗尽-加载的类越来越多,很多框架会在运行期间动态产生新的类 3️⃣虚拟机栈累积-每个线程最多
原创
发布博客 2022.06.24 ·
707 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ThreadLocal

面试题:谈一谈对ThreadLocal的理解 1.ThreadLocal可以实现【资源对象】的线程隔离,让每个线程各用各的【资源对象】,避免 争用引发的线程 2.ThreadLocal同时实现了线程内的资源共享 3.其原理是,每个线程内有一个ThreadLocalMap类型的成员变量,用来存储资源对象 调用set方法,就是以ThreadLocal自己作为key,资源对象作为value,放入当前线程的
原创
发布博客 2022.06.20 ·
214 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Hashtable和ConcurrentHashMap

1.Hashtable和ConcurrentHashMap都是线程安全的Map集合 2.Hashtable并发度低,整个Hashtable对应一把锁,同一时刻,只能有一个线程操作它 3.jdk1.8之前ConcurrentHashMap使用Segment+数组+链表的结构,每个Segment对应一把锁,若多个线程访问不同的Segment,则不会冲突 4.jdk1.8开始ConcurrentHashMap将数组的每个头节点作为锁,若多个线程访问的头节点不同
原创
发布博客 2022.06.19 ·
277 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

java中的悲观锁和乐观锁

1.悲观锁的代表是synchronized和Lock锁 ①其核心思想是:线程只有占有了锁,才能去操作共享变量,每次只有一个线程占锁成功,获取锁失败的线程,都得停下来等待 ②线程从运行到阻塞、再从阻塞到环形,涉及线程上下文切换,如果频繁发生,影响性能 ③实际上,线程在获取synchronized和Lock锁时,若锁已经被占用,都会做几次重试操作,减少阻塞的机会2.乐观锁的代表是AtomicInteger,使用cas(compareAndSetInt)来保证原
原创
发布博客 2022.06.19 ·
1572 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

lock vs synchronized lock和synchronized的异同

·语法层面 1.synchronized是关键字,源码在 jvm 中,用 c + +语言实现 2.Lock是接口,源码由 jdk 提供,用 java 语言实现3.使用 Synchronized 时,退出同步代码块锁会自动释放,而使用Lock时,需要手动调用unlock方法释放锁·功能层面1.二者均属于悲观锁、都具备基本的互斥、同步、锁重入功能2.Lock提供了许多synchronized不具备的功能...............
原创
发布博客 2022.06.15 ·
171 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

wait vs sleep wait和sleep的异同

·共同点:wait(),wait(long)和sleep(long)的效果都是让当前线程暂时放弃中央处理器的使用权,进入阻塞状态 ·方法归属不同 ①sleep(long)是Thread的静态方法 ②而wait(),wait(long)都是Object的成员方法,每个对象都有 ·醒来时机不同 ①sleep(long)和wait(long)的线程都会在等待相应毫秒后醒来
原创
发布博客 2022.06.14 ·
198 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

线程面试相关问题-线程有哪些状态 线程池 线程调用start方法是立即执行了吗 ?

线程有哪些状态? Java线程中一共有6种状态,分别为:NEW、RUNNABLE、WAITING、TIMED_WAITING、BLOCKED、TERMINATED,其中RUNNABLE包含READY和RUNNING状态,详情可见下图: 线程调用start方法是立即执行了吗 ? 线程不是马上执行的;准确来说,调用start( )方法后,线程的状态从 new 的状态 变成 “READY(就绪)”状态,而不是“RUNNING(运行中)”状态。线程要等待CPU调度,不同的JVM有不同
原创
发布博客 2022.06.08 ·
861 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

设计模式面试相关问题

Java设计模式--单例模式_张志明(努力奋斗版)的博客-CSDN博客单例设计模式介绍所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类 只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创建Session对象。SessionFactory并不是轻量级的,一般情况下,一个项目通常只需要一个SessionFactory就够,这是就会使用到...https://blog.csdn.n
原创
发布博客 2022.06.08 ·
120 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HashMap面试相关问题-为啥hashmap要使用红黑树,为啥不直接采用红黑树,而是当大于8个的时候才转换红黑树?何时会退化为链表?为何要二次哈希?.....

为啥hashmap不直接采用红黑树,而是当链表长度大于8个的时候才转换红黑树?小于6个转为链表?_小小梁的实验室的博客-CSDN博客_hashmap为什么不直接用红黑树为啥hashmap不直接采用红黑树,而是当大于8个的时候才转换红黑树?_weixin_43968372的博客-CSDN博客_hashmap为什么不直接用红黑树为啥hashmap要使用红黑树? jdk1.7之前 只使用链表的话 如果链表太长会影响hashmap的性能为什么不直接采用红黑树? 时间:因为Map中
原创
发布博客 2022.06.08 ·
780 阅读 ·
4 点赞 ·
0 评论 ·
13 收藏

fail-fast和fail-safe

fail-fast(快速失败) 当我们在遍历集合元素的时候,经常会使用迭代器,但在迭代器遍历元素的过程中,如果集合的结构被改变的话,就会抛出异常,防止继续遍历。这就是所谓的快速失败机制。即:一旦发现遍历的同时其它人来修改 则立即抛异常。java.util包下面的所有的集合类都是快速失败的 我们可以通过迭代器来遍历list,Iterator是一个接口, ArrayList内部类实现Iterator接口来实现相关方法 代码如下所示 其中expectedModCount记录了刚开始使用
原创
发布博客 2022.06.08 ·
157 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SpringMVC 拦截器 AOP面向切面编程

1.配置pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apac
原创
发布博客 2022.05.25 ·
200 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Json乱码问题配置

在resources/xxx.xml文件中加上如下配置<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8.
原创
发布博客 2022.05.24 ·
129 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SpringMVC第一个SpringMVC程序

1.pom.xml配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apac
原创
发布博客 2022.05.22 ·
253 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Spring-Mybatis整合 第一个Spring-Mybatis程序

1.pom.xml配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apac
原创
发布博客 2022.05.20 ·
250 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MyBatis缓存机制

MyBatis缓存机制_w3cschool缓存机制减轻数据库压力,提高数据库性能mybatis的缓存分为两级:一级缓存、二级缓存一级缓存:一级缓存为 ​SqlSession​ 缓存,缓存的数据只在 SqlSession 内有效。在操作数据库的时候需要先创建 SqlSession 会话对象,在对象中有一个 HashMap 用于存储缓存数据,此_来自MyBatis 教程,w3cschool编程狮。https://www.w3cschool.cn/mybatis/mybatis-xlc73bt4.html.
原创
发布博客 2022.05.20 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

mybatis一对多映射 完美解决Expected one result (or null) to be returned by selectOne(), but found:

今天在进行mybatis学习时 出现了上述错误 在网上看了n篇文章都没有解决下图是我查询用到的两个表 其中student表中的tid和teacher表中的id通过外键链接​在我的xml文件中 我刚开始是这么进行查询的<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://myb...
原创
发布博客 2022.05.19 ·
9476 阅读 ·
7 点赞 ·
0 评论 ·
20 收藏

Mybatis 详细的创建流程及创建第一个Mybatis增删改查程序 CRUD

1.idea新建Maven项目Mybatis-study 将项目里的src文件夹删掉 依次将此项目作为父项目2.在Mybatis-study中新建模块mybatis-01 在mybatis的pom文件中可以看到其父项目为ybatis-study<parent> <artifactId>MyBatis-study</artifactId> <groupId>org.example</groupId> ...
原创
发布博客 2022.05.17 ·
307 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多