02 2022 档案

摘要:一、基本概念 说起ServletContext,一些人会产生误解,以为一个servlet对应一个ServletContext。其实不是这样的,事实是一个web应用对应一个ServletContext,所以ServletContext的作用范围是整个应用,明确这点很重要,这是基础中的基础。 我曾经想, 阅读全文
posted @ 2022-02-25 18:59 Cn_FallTime 阅读(136) 评论(0) 推荐(0) 编辑
摘要:servlet原理 servlet是由web服务器调用 1.1Mapping问题 一个servlet可以指定一个映射路径 <!-- 一个servlet对应一个Mapping:映射--> <servlet-mapping> <servlet-name>helloServlet</servlet-nam 阅读全文
posted @ 2022-02-25 18:41 Cn_FallTime 阅读(27) 评论(0) 推荐(0) 编辑
摘要:#一,区别 在使用表单提交数据到服务器的时候有两张方式可共选择,一个是post一个是get。可在中的method属性中指定提交的方式。如:<form action="inputForm"method="get">,如果不指定method属性,则会默认该属性为”get”方式。 Get和post都能够提 阅读全文
posted @ 2022-02-25 17:45 Cn_FallTime 阅读(543) 评论(0) 推荐(0) 编辑
摘要:#String s = new String(“xyz”);创建了几个String Object? ####两个。第一个对象是字符串常量"xyz" 第二个对象是new String()的时候产生的,在堆中分配内存给这个对象,只不过这个对象的内容是指向字符串常量"xyz" 另外还有一个引用s,指向第二 阅读全文
posted @ 2022-02-22 16:20 Cn_FallTime 阅读(27) 评论(0) 推荐(0) 编辑
摘要:09.类加载内存分析 类的加载过程 类的加载与ClassLoader的理解 加载:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的java.lang.Class对象 链接:将Java类的二进制代码合并到JVM的运行状态之中的过程 验证:确 阅读全文
posted @ 2022-02-21 11:52 Cn_FallTime 阅读(43) 评论(0) 推荐(0) 编辑
摘要:01.什么是注解 Annotation是从jdk5.0开始引入的新技术 Annotation的作用 不是程序本身,可以对程序作出解释(这一点和注释(comment)没什么区别) 可以被其他程序(比如:编译器等)读取 Annotation的格式 注解是以“@注释名”在代码中存在,还可以添加一些参数值, 阅读全文
posted @ 2022-02-20 10:22 Cn_FallTime 阅读(21) 评论(0) 推荐(0) 编辑
摘要:01.什么是计算机网络 网络编程 打电话 -- 连接 -- 接了电话 -- 通话 (TCP) 发短信 -- 发送了就完事了 -- 接收 (UDP) 计算机网络: 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理 阅读全文
posted @ 2022-02-18 11:02 Cn_FallTime 阅读(37) 评论(0) 推荐(0) 编辑
摘要:20、线程池 背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。 思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。类似生活中的公共交通工具。 好处 提高响应速度(减少了创建新线程的时间) 降低资源消耗(重复利用 阅读全文
posted @ 2022-02-18 10:08 Cn_FallTime 阅读(77) 评论(0) 推荐(0) 编辑
摘要:19、生产者消费者问题 1.线程通信 应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中的产品取走消费 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止 如果仓库中放有产品,则消费者可以将产品取走消 阅读全文
posted @ 2022-02-17 15:53 Cn_FallTime 阅读(30) 评论(0) 推荐(0) 编辑
摘要:18、Lock锁 从jdk5.0开始,java提供了更强大的线程同步机制——通过显示定义同步锁对象来实现同步。同步锁使用Lock对象充当 java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独占访问,每次只能有一个线程对Loc 阅读全文
posted @ 2022-02-17 11:45 Cn_FallTime 阅读(47) 评论(0) 推荐(0) 编辑
摘要:17、死锁 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。某一个同步块同时拥有“两个以上对象的锁”时,就可能会发生“死锁”的问题。(两个或者多个线程互相抱着对方需要的资源,然后形成僵持) ####案例演示 //多个 阅读全文
posted @ 2022-02-17 11:26 Cn_FallTime 阅读(28) 评论(0) 推荐(0) 编辑
摘要://测试juc安全类型的集合 public class TestJUC { public static void main(String[] args) { CopyOnWriteArrayList<String> copyOnWriteArrayList=new CopyOnWriteArrayL 阅读全文
posted @ 2022-02-16 23:18 Cn_FallTime 阅读(48) 评论(0) 推荐(0) 编辑
摘要:18、线程同步机制 多个线程操作同一个资源 并发:同一个对象被多个线程同时操作 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象,这时候我们就需要线程同步。线程同步其实就是一个等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面的线程时候完毕,下一个线程 阅读全文
posted @ 2022-02-16 19:18 Cn_FallTime 阅读(145) 评论(0) 推荐(0) 编辑
摘要:15、守护线程 线程分为用户线程和守护线程(daemon) 虚拟机需要确保用户线程执行完毕 虚拟机不用等待守护线程执行完毕(一般讲当用户线程结束后守护线程也会随之结束但不一定一定随用户线程结束而结束) 如,后台记录操作日志,监控内存,垃圾回收等 public class TestDaemon { p 阅读全文
posted @ 2022-02-16 15:52 Cn_FallTime 阅读(32) 评论(0) 推荐(0) 编辑
摘要:14、线程的优先级 java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程 线程的优先级用数字表示,范围从1~10 Thread.MIN_PRIORITY =1 Thread.MAX_PRIORITY =10 Thread.NORM_PRIORI 阅读全文
posted @ 2022-02-16 15:35 Cn_FallTime 阅读(27) 评论(0) 推荐(0) 编辑
摘要:Thread.State 线程状态。线程可以处于以下状态之一 new 尚未启动的线程处于状态 runnable 在java虚拟机中执行的线程处于此状态 blocked 被阻塞 等待监视器锁定的线程处于此状态 waitiing 正在等待另一个线程执行特定动作的线程处于此状态 timed_waiting 阅读全文
posted @ 2022-02-16 02:34 Cn_FallTime 阅读(25) 评论(0) 推荐(0) 编辑
摘要:#Lamda表达式简化线程创建方式 ####实际上本质还是实Runnable接口的一种方法,此方法的好处是可以简化代码,利用函数式接口,将原先需要实现Runnable接口重写run方法的部分,简化为 new Runnable(){}形式(创建线程对象时实现接口方法),再简化为函数式接口Lamda表达 阅读全文
posted @ 2022-02-16 02:14 Cn_FallTime 阅读(89) 评论(0) 推荐(0) 编辑
摘要:12、线程强制执行_join Join合并线程,待此线程执行完成后,再执行其他线程,其他线程阻塞 可以想象成插队 //测试join方法(vip插队) public class TestJoin implements Runnable{ @Override public void run() { fo 阅读全文
posted @ 2022-02-16 00:42 Cn_FallTime 阅读(37) 评论(0) 推荐(0) 编辑
摘要:11、线程礼让_yield 礼让线程,让当前正在执行的线程暂停,但不阻塞 将线程从运行状态转为就绪状态 让cup重新调度,礼让不一定成功,看cup调度 /*测试礼让线程,礼让不是阻塞和sleep不同, 是将线程状态置为就绪态不是阻塞态, 此时运行的先后顺序还是要看cpu心情 所以礼让可能不会成功 * 阅读全文
posted @ 2022-02-16 00:25 Cn_FallTime 阅读(35) 评论(0) 推荐(0) 编辑
摘要:10、线程休眠_sleep sleep(long millis) 指定当前线程阻塞的毫秒数 sleep存在异常InterruptException sleep时间达到后线程进入就绪状态 sleep可以模拟网络延时,倒计时等 每一个对象都有一个锁,sleep不会释放锁 ####抢票Demo //模拟网 阅读全文
posted @ 2022-02-16 00:12 Cn_FallTime 阅读(50) 评论(0) 推荐(0) 编辑
摘要:11、线程停止 线程状态 线程方法 方法 说明 setPriority(int newPriority) 更改线程的优先级 static void sleep(long millis) 在指定的毫秒数内让当前正在执行的线程休眠 void join() 等待该线程终止 static void yiel 阅读全文
posted @ 2022-02-15 23:37 Cn_FallTime 阅读(35) 评论(0) 推荐(0) 编辑
摘要:##08、静态代理模式(Thread和Runnable底层实现机制) /* * 真实对象和代理对象都要实现同一个接口 * 代理对象要代理真实对象 * 好处: * 代理对象可以做很多真实对象做不了的事情 * 真实对象专注做自己的事情 */ public class StaticProxy { publ 阅读全文
posted @ 2022-02-14 23:16 Cn_FallTime 阅读(58) 评论(0) 推荐(0) 编辑
摘要:07、Lambda表达式 希腊字母表排序第十一位的字母,英语名称为Lambda 避免匿名内部类定义过多 其实质属于函数式编程的概念 为什么要使用lambda表达式 避免匿名内部类定义过多 可以让你的代码看起来很简洁 去掉了一堆没有意义的代码,只留下了核心的逻辑 也许你会说,我看了lambda表达式, 阅读全文
posted @ 2022-02-14 22:31 Cn_FallTime 阅读(50) 评论(0) 推荐(0) 编辑
摘要:##实现Callable接口 实现Callable接口,需要返回值类型 重写call方法,需要抛出异常 创建目标对象 创建执行服务:ExecutorService ser = Executors.newFixedThreadPool(1) 提交执行Future result1 = ser.submi 阅读全文
posted @ 2022-02-13 23:56 Cn_FallTime 阅读(135) 评论(0) 推荐(0) 编辑
摘要:##龟兔赛跑问题 public class TestThread5 implements Runnable{ private static String winner;//注意final是静态常量不可修改 private static int num=0; @Override public void 阅读全文
posted @ 2022-02-13 23:26 Cn_FallTime 阅读(58) 评论(0) 推荐(0) 编辑
摘要:##多线程并发问题 //多个线程同时操作同一个对象 //买火车票的例子 public class TestThread4 implements Runnable{ //票数 private int tickerNums =10; @Override public void run() { while 阅读全文
posted @ 2022-02-13 22:49 Cn_FallTime 阅读(23) 评论(0) 推荐(0) 编辑
摘要:##使用Thread实现多线程 public class MyThread extends Thread { private int ticket = 5; @Override public void run() { while (true) { System.out.println("Thread 阅读全文
posted @ 2022-02-13 00:51 Cn_FallTime 阅读(31) 评论(0) 推荐(0) 编辑
摘要:03、实现Runnable接口 定义TestThread3实现Runnable接口 实现run方法,编写方法体 创建线程对象,调用start()方法启动线程 ####代码演示 //创建线程的方式2:实现runnable接口,重写run方法,执行线程需要丢入runnable接口实现类,调用start方 阅读全文
posted @ 2022-02-12 23:57 Cn_FallTime 阅读(56) 评论(0) 推荐(0) 编辑
摘要:02、继承Thread类 自定义线程类继承Thread 重写run()方法,编写线程执行体 创建线程对象,调用start()开启线程 ####代码演示 //创建线程的方式一:继承Thread类,重写run()方法,调用start开启线程 //线程开启不一定立即执行,由cpu决定 public cla 阅读全文
posted @ 2022-02-12 23:53 Cn_FallTime 阅读(33) 评论(0) 推荐(0) 编辑
摘要:01、线程、进程、多线程 普通方法调用和多线程调用 进程与线程(Process与Thread) 说起进程,就不得不说一下程序,程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。 而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位。 通常在一个进程中可以包 阅读全文
posted @ 2022-02-12 23:50 Cn_FallTime 阅读(28) 评论(0) 推荐(0) 编辑
摘要:PDF速览 ####补充:Fill类 #####概念:代表物理盘符中的一个文件或者文件夹 /* File类的使用 1. 分隔符 2. 文件操作 3. 文件夹操作 */ public class Demo{ psvm(String[] args){ separator(); } // 1. 分隔符 p 阅读全文
posted @ 2022-02-05 11:11 Cn_FallTime 阅读(31) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩