php网站开发就业竞价托管推广公司

张小明 2026/1/5 6:37:43
php网站开发就业,竞价托管推广公司,wordpress怎么上传高清图片,广州seo外包公司一、进程【理解】 1. 进程#xff1a;操作系统(OS)中#xff0c;每一个被执行的应用程序。 2. 注意#xff1a;目前操作系统支持多进程#xff0c;并发执行的任务。 3. 多进程并发执行的原理#xff1a;微观上串行(一个一个的进程进行执行#xff0c;获取cpu时间片的进程…一、进程【理解】1.进程操作系统(OS)中每一个被执行的应用程序。2.注意目前操作系统支持多进程并发执行的任务。3.多进程并发执行的原理微观上串行(一个一个的进程进行执行获取cpu时间片的进程具有执行权)宏观上并行(所有的进程看似一起执行)二、线程1.概念在一个进程中并发执行的多个任务。线程是进程执行任务的单元、单位。线程也被称为轻量级的进程。【理解】2.主线程目前程序为单线程此线程以main函数的开始为开始以main函数的结束为结束此线程被称为主线程(主线程默认执行main函数)3.线程的组成部分【理解】(1) cpu获取到cpu时间片的线程获取执行权(2)数据栈空间独立(每一个线程有独立的栈空间)堆空间共享(多个线程可以操作同一个堆空间)。栈空间用于存储局部变量堆空间用于存储对象。(3)程序代码4.代码实现多线程【重点】(1)第一种方式a.类继承java.lang.Thread类覆盖run方法b.创建线程对象MyThread t1 new MyThread();c.开启线程t1.start() ; // JVM默认执行run方法(2)第二种方式a.类实现java.lang.Runnable接口同时实现run方法b.创建线程的目标对象Mytarget mt new MyTarget();c.创建线程对象Thread t2 new Thread(mt); //将目标对象作为参数进行传递d.开启线程t2.start(); // JVM默认调用run方法三、线程状态【理解】1. static void sleep(long ms)让当前线程处于休眠状态休眠的单位是毫秒(ms)处于休眠状态的线程进入有限期等待状态 。sleep方法会让当前线程释放cpu但是不释放锁标记。2. void join() :让某 线程加入到自身任务中在哪个线程中调用其他线程join方法则代表此线程让步其他线程优先执行此线程从而进入无限期的等待状态。例如在主线程中main函数中t.join() ;代表主线程让步于t线程执行四、线程同步【重点】1.临界资源多线程并发时被多个线程共享的同一个对象称为临界资源。2.原子操作不可以分割的多步操作被视为一个整体其执行顺序和步骤不能被打破。3.线程同步多线程并发访问时为了保证临界资源的正确性从而不破坏操作中的原子操作。(保护原子操作不能被破坏)4.线程同步的两种方式(1)同步代码块对临界资源对象进行加锁。a.定义位置方法内部b.利用synchronized对临界资源加锁c.语法synchronized(临界资源对象){//原子操作}d.执行的原理当线程获取临界资源的锁标记时锁标记空闲则能获取该对象的锁标记获取锁标记之后可以执行同步代码块{}中的代码而且只有当{}中所有的内容全部执行完才释放拥有的锁标记但是当线程获取临界资源对象的锁标记时锁标记被其他线程占用则此线程进入阻塞状态(Blocked状态)只有当其他线程释放锁标记此线程获取锁标记才结束阻塞状态同时获取cpu可以执行{}中的内容。(2)同步方法a.用synchronized修饰 方法被synchronized修饰的方法称为同步方法b.语法修饰符synchronized返回值类型方法名(形参列表)throws异常{//原子操作}c.同步方法等价于 同步代码块是对当前对象进行加锁synchronized(this){//原子操作}五、线程间的通信1. java.lang.Object类中提供了用于线程间通信的方法等待wait与通知notify2.等待wait() :(1) wait方法的调用需要使用在该对象的同步代码块中(2)如果一个线程调用了wait方法此线程进入等待状态wait() --进入无限期等待状态(3) wait方法会当前线程释放锁标记同时释放cpu3.通知(1) notify():通知一个线程从等待状态结束(2) notifyAll():通知所有的线程从等待结束注意notify()/notifyAll的应用需要使用在该对象的同步代码块中notify()/notifyAll:只是起到通知的作用不释放该线程拥有的锁标记。面试题目写出sleep(long ms)方法 和wait()方法区别解 析sleep(long ms):让线程进入休眠状态(有限期等待状态)同时释放cpu但是不释放锁标记wait()方法让当前线程进入无限期等待状态释放cpu同时也释放锁标记。面试题目写出ArrayList和Vector的区别解析ArrayList线程不安全方法为非同步方法运行效率较高。Vector:线程安全方法为同步方法不同线程需要等待锁标记效率相对较低。面试题目HashMap和Hashtable的区别解析Hashtable线程安全方法为同步方法运行效率相对较低。HashMap :线程不安全方法为非同步方法运行效率相对较高。六、线程池 【开发应用】1.线程池线程容器预先创建一些线程存储在池中线程池中线程可以被重复的使用。2.线程池的好处减少创建线程和销毁线程的次数反复使用池的线程从而提高效率。3.常用的线程池对应接口和类(位于java.util.concurrent包中)(1) Executor 线程池根接口、顶级接口。(2) ExecutorService :是Executor的子接口是线程池常用接口。a. submit(Runnable r)将Runnable类型的任务提交给线程池。b. submit(Callable V c) :将Callable类型的任务提交给线程池。c. shutdown()将线程池关闭从而线程池自动销毁所有线程对象。(3) Executors线程池对应工具类(工厂类提供线程池对象的类)内容提供大量静态方法用于获取线程池对象a. static ExecutorService newFixedThreadPool(int n) :创建一个可重复固定个数线程的线程池对象参数代表线程的数量。b. static ExecutorService newCachedThreadPool():创建一个线程个数为动态的线程池对象线程池的线程个数没有上限。七、Callable接口(位于java.util.concurrent包)【开发应用】1. JDK5.0之后提出一个Callable接口应用类似于Runnable接口代表一个线程任务。2. Callable接口带有泛型常用的方法为V call()带有泛型类型的返回值可以抛出任意类型异常。3.方法的调用(1)同步调用调用者一旦发生方法的调用则调用者需要停下被调用的方法方法先执行被调用的方法执行完毕之后返回到调用位置则调用者才能继续往下执行。例如商场购物(2)异步调用调用者一旦发生方法的调用调用者立即可以执行自身后续的内容。例如网上购物。4. Future的应用(1) Future接口可以接收异步计算结果例如pool.submit(c);对于Callable任务的结果处理(2) Future中常用的方法V get()从Future中获取结果。八、常用的集合补充1.队列结构先进的先出后进后出。(FIFO)2. Queue是Collection子接口模拟队列结构先进先出特点。(位于java.util包中)【练习】常见的一些方法(1) add(Object o):往队列中添加一个元素。(2) offer(Object o):往队列中添加一个元素。(3) E poll() :获取队头元素并移除队头元素。3. BlockingQueue:是Queue的子接口位于java.util.concurrent包中。(1) ArrayBlockingQueue:底层数组实现需要指定容量(2) LinkedBlockingQueue:底层链表实现如果不指定容量默认大小为2147483647的容量也可以指定容量。4. LinkedList是Queue的实现类5. Collections方法的补充【扩充】(1) static Collection synchronizedCollection(Collection c):将不安全的Collection集合转换为安全性的(2) static Set synchronizedSet(Set s)将不安全的Set集合转换为安全性的(3) static Map synchronizedMap(Map map):将不安全的Map转换为安全性的(4) static List synchronizedList(List list):将不安全的list转换为安全性的6. Lock(锁)的应用【扩充】(1) Lock:位于java.util.concurrent.locks包中比之前的synchronized使用更灵活和广泛。(2) Lock接口中方法a. void lock() 获取锁b. void unlock()释放锁。注意通常将unlock()方法调用放于finally中(3) ReentrantLock是Lock接口的实现类7. ReadWriteLock (读写锁)的应用java.util.concurrent.locks包中【扩充】(1) ReadWriteLock是一种支持一写多读的读写锁可以分配读锁和写锁。(2) ReentrantReadWriteLock是ReadWriteLock的实现类Lock readLock():获取读锁Lock writeLock():获取写锁(3)读写之间的约束读-读 不互斥读-写互斥写-读互斥写-写互斥(4)应用场景读操作次数远远大于写操作次数时效率提高。总结代码实现多线程的方式。【面试及应用重点】(1)类继承Thread类同时覆盖run方法-》线程执行体创建线程对象调用start方法开启线程(2)类实现Runnable接口同时实现run方法--》线程执行体创建目标对象创建线程对象(将目标对象作为参数传递)利用start开启线程(3)类实现Callable接口(直接使用匿名内部类)同时实现call方法--》线程执行体(Callable是带有泛型泛型约束call方法的返回值类型)借助线程池完成Callable类型的任务注意以上三种方式都可以利用线程池完成线程任务。8.线程安全并且高效的一些集合类(1) CopyOnWriteArrayList位于java.util.concurrent包中a.在写操作(改变集合元素内容的方法)中进行加锁读操作不加任何锁为了保证线程的安全性写写操作由于是加锁操作相互互斥但是写操作时会在原有文本的基础上拷贝一个新的文本在新的文本上进行写操作最终覆盖掉原有文本。读与写操作不互斥读的时候直接读取原始数据写操作会在原始文本上完成复制之后再进行写操作。b.牺牲写操作的效率从而提高读操作的效率c.应用场景读操作次数远远大于写操作次数时效率相对较高。面试题目CopyOnWriteArrayList和ArrayList的区别。解析CopyOnWriteArrayList线程安全在写操作上进行加锁同时写操作时拷贝一个新的文本在读操作次数远远大于写操作次数效率仅次于ArrayListArrayList:运行效率高但是线程不安全。(2) ConcurrentLinkedQueue :位于java.util.concurrent包中线程安全并且高效的Queue接口的实现类她是采用的比较交换算法(CAS算法)实现的线程安全。(3) ConcurrentHashMap :位于java.util.concurrent包中a.减小锁粒度(范围)从而较少锁冲突的可能性进而提高效率。b. ConcurrentHashMap将底层分为16个小的HashMap结构每一个称为段共16段。c.注意全局操作(size() )的次数不频繁时效率相对较高。面试题目CopyOnWriteArrayList和ArrayList的区别。解析CopyOnWriteArrayList线程安全在写操作上进行加锁同时写操作时拷贝一个新的文本在读操作次数远远大于写操作次数效率仅次于ArrayListArrayList:运行效率高但是线程不安全。(2) ConcurrentLinkedQueue :位于java.util.concurrent包中线程安全并且高效的Queue接口的实现类她是采用的比较交换算法(CAS算法)实现的线程安全。(3) ConcurrentHashMap :位于java.util.concurrent包中a.减小锁粒度(范围)从而较少锁冲突的可能性进而提高效率。b. ConcurrentHashMap将底层分为16个小的HashMap结构每一个称为段共16段。c.注意全局操作(size() )的次数不频繁时效率相对较高。面试题目ConcurrentHashMap和HashMap的区别。解析ConcurrentHashMap线程安全并且在全局操作不频繁时效率较高。是通过减小锁粒度从而提高效率ConcurrentHashMap不允许null作为键和值HashMap:线程不安全但是运行效率较高。允许null作为键和值。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

工程建设项目网站做平台交易网站怎么收款

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring B…

张小明 2026/1/5 6:39:52 网站建设

沈阳工伤保险做实在哪个网站网上免费做网站

Qwen-Image技术解析:基于MMDiT架构的中英文文本渲染突破 在广告、电商和数字内容创作领域,一个长期困扰工程师与设计师的问题是:为什么AI生成的图像里,中文总是“写错字”或“糊成一片”?即便像Stable Diffusion这样的…

张小明 2026/1/4 19:14:47 网站建设

广西企业网站有哪些全屋设计装修效果图

软件测试行业中的关键性能指标(KPI)是用来衡量整个软件测试过程中效率与效果的一些可测量数值。尽管使用软件测试KPI来衡量效率似乎理所当然,但在软件测试行业中,测试界人士之间在是否使用KPI的问题上存在分歧。有些人认为软件测试KPI无益于帮助实现时间…

张小明 2026/1/4 21:07:04 网站建设

网站做支付宝支付接口网站建设利润越来越低

lc2047可以三解,复习了:模拟 状态机 正则正则istringstream处理这才是真正的代码😭正则表达式 (([a-z]-)?[a-z])?[!,.]? 的结构和匹配逻辑是:- 核心部分 ([a-z]-)?[a-z] :匹配“纯小写字母”(如 abc )或…

张小明 2026/1/3 18:36:36 网站建设

杭州 网站程序微网站建设使用程序

目录 1. 引言 2. Rademacher 复杂度是什么 2.1 基本定义与数学表达 2.2 直观理解 3. Rademacher 复杂度的理论性质 3.1 上界性质 3.2 次加性 3.3 缩放性 4. Rademacher 复杂度的计算与估计 4.1 蒙特卡洛估计方法 4.2 常见函数类的复杂度上界 5. Rademacher 复杂度的…

张小明 2026/1/2 16:14:30 网站建设