随笔分类 -  Java

摘要:SSM框架 SSM= Spring+SpringMVC+mybatis Spring负责管理SpringMVC和mybatis相关对象的创建和依赖的注入 SpringMVC负责实现MVC设计模式 mybatis负责数据持久层 Spring 一个轻量级、非入侵的控制反转(IOC)和面向切面(AOP)容 阅读全文
posted @ 2023-03-18 12:33 原语 阅读(33) 评论(0) 推荐(0) 编辑
摘要:通过反射操作注解 package com.yuanyu.annandre; import java.lang.annotation.*; import java.lang.ref.SoftReference; //通过反射操作注解 public class Test13 { public stati 阅读全文
posted @ 2022-01-27 16:02 原语 阅读(260) 评论(0) 推荐(0) 编辑
摘要:通过反射获取泛型信息 package com.yuanyu.annandre; import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; im 阅读全文
posted @ 2022-01-27 13:34 原语 阅读(275) 评论(0) 推荐(0) 编辑
摘要:通过反射动态创建对象 创建类的对象:调用Class对象的newInstance()方法 类必须要有一个无参构造器 类的访问权限需要足够 package com.yuanyu.annandre; //通过反射动态获取对象 public class Test10 { public static void 阅读全文
posted @ 2022-01-27 12:50 原语 阅读(50) 评论(0) 推荐(0) 编辑
摘要:java类加载内存分析 方法区:包含了所有class和static变量 堆:存放new的对象和数组 栈:存放基本变量类型和引用对象的变量 加载:将class文件字节码内容加载到内存中,并将这些静态数据转化成方法区的运行时的数据结构,然后生成一个java.lang.Class对象 链接:将JVM类的二 阅读全文
posted @ 2022-01-26 23:23 原语 阅读(227) 评论(0) 推荐(1) 编辑
摘要:反射Reflection 动态语言:在运行时代码可以根据某些条件改变自身结构,主要动态语言:Object-C、C#、JS、PHP、Python等 静态语言:在运行时不可以改变其结构的语言,主要静态语言有:java、C、C++等 java可以称之为“准动态语言”,可以利用反射机制获得类似动态语言的特性 阅读全文
posted @ 2022-01-26 22:46 原语 阅读(30) 评论(0) 推荐(0) 编辑
摘要:注解Annotation 作用: 可以被其他程序读取 对程序作出解释(与comment注释 相同) 注解以“@注释名”在代码中存在,还可以添加一些参数值,例如:@SupperessWarnings(value="unchecked") 一般附加在package,class,method,field等 阅读全文
posted @ 2022-01-25 15:09 原语 阅读(30) 评论(0) 推荐(0) 编辑
摘要:线程池 背景:经常创建和销毁,使用量特别大的资源,比如并发情况下的线程,对性能影响很大 思路: 提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。 可以避免频繁的创建销毁、实现重复利用 好处: 提高响应速度(减少了创建新线程的时间) 降低资源消耗(重复利用线程池中线程,不需要每次都创 阅读全文
posted @ 2022-01-15 17:37 原语 阅读(21) 评论(0) 推荐(0) 编辑
摘要:线程协作 生产者、消费者模式: 这是一个线程同步问题,生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,互为条件 对于生产者:没有生产产品之前,要通知消费者等待,而生产了产品之后,又需要马上通知消费者消费 对于消费者:在消费之后,要通知生产者已经结束消费,需要生产新的产品以供消费 在生产 阅读全文
posted @ 2022-01-15 16:48 原语 阅读(27) 评论(0) 推荐(0) 编辑
摘要:死锁 多个线程各自战友一些资源,并且相互等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。某一个同步块同时拥有两个以上对象的锁时,就可能会发生死锁问题。 形成死锁的四个必要条件: 互斥条件 请求与保持条件 不剥夺条件 循环等待条件 避免死锁:破坏形成死锁的 阅读全文
posted @ 2022-01-15 13:32 原语 阅读(36) 评论(0) 推荐(0) 编辑
摘要:线程同步 并发:多个线程访问同一个对象 例:上万人同时抢100张票 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象。这时候需要线程同步, 线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程再使用 线程同步: 阅读全文
posted @ 2022-01-14 21:19 原语 阅读(54) 评论(0) 推荐(0) 编辑
摘要:守护线程 线程分为用户线程和守护(daemon)线程 虚拟机必须确保用户线程执行完毕(main) 虚拟机不用等待守护线程执行完毕 (gc) package com.yuanyu.thread; //测试守护线程 //上帝守护你 public class TestDaemon { public sta 阅读全文
posted @ 2022-01-13 20:41 原语 阅读(233) 评论(0) 推荐(0) 编辑
摘要:线程的优先级 java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行 线程的优先级用数字表示,范围从1~10 Thread.MIN_PRIORITY=1; Thread.MAX_PRIORITY=10; Thread.NORM_PRIORI 阅读全文
posted @ 2022-01-13 20:24 原语 阅读(181) 评论(0) 推荐(0) 编辑
摘要:线程的状态 线程的状态: 线程停止 不推荐使用JDK提供的stop()、destroy()方法 @Deprecated 【已废弃】 推荐线程自己停止下来 建议使用一个标志位进行终止变量:当flag=false,则终止线程运行 package com.yuanyu.thread; //测试停止线程 / 阅读全文
posted @ 2022-01-12 20:54 原语 阅读(40) 评论(0) 推荐(0) 编辑
摘要:java Lambda表达式 λ是希腊字母中排序第十一位的字母,lambda表达式可以避免匿名内部类定义过多 ,只留下核心的逻辑,使代码看上去更简洁,其实质属于函数式编程。 函数式接口:只包含唯一一个抽象方法的接口 例如: interface Runnable{ void runnable(); } 阅读全文
posted @ 2022-01-12 20:21 原语 阅读(58) 评论(0) 推荐(0) 编辑
摘要:静态代理 package com.yuanyu.thread; public class Demo01 { //Teacher teacher = new Teacher(new You()); //teacher.HappyStudy(); new Teacher(new You()).Happy 阅读全文
posted @ 2022-01-12 09:18 原语 阅读(24) 评论(0) 推荐(0) 编辑
摘要:java线程创建 三种创建方式: 继承Thread类 实现Runable接口 实现Callable接口 一、继承Thread类: 继承Thread类 重写run方法,编写线程执行体 创建线程对象,调用start方法开启线程 package com.yuanyu.thread; public clas 阅读全文
posted @ 2022-01-10 15:09 原语 阅读(306) 评论(0) 推荐(0) 编辑
摘要:java多线程的基本概念 一个进程(Process) 可以有多个线程(Thread) ,例:看视频时同时听见声音、看见图像弹幕等等 程序:是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念 进程:是程序执行一次的过程,是一个动态概念,是系统资源分配的单位 通常一个进程中可以包括若干个 阅读全文
posted @ 2022-01-10 14:45 原语 阅读(75) 评论(0) 推荐(0) 编辑
摘要:java异常Exception 异常指程序运行中出现的不期而至的各种状况,影响了正常的程序执行流程 :如文件找不到、网络连接失败、非法参数等。 异常: 检查性异常:最具代表性的是用户错误或问题引起的异常,是程序员无法预见的,在编译时不能被简单忽略 运行时异常:可能被程序员避免的,在编译时可被忽略 错 阅读全文
posted @ 2022-01-09 15:52 原语 阅读(60) 评论(0) 推荐(0) 编辑
摘要:java高级玩法 内部类通过外部类来实例化 : package com.yuanyu.Demo08; public class Outer { //外部类 private int id; public void out(){ System.out.println("Outer"); } class 阅读全文
posted @ 2022-01-09 10:15 原语 阅读(79) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示