草庐IT

三十而立

全部标签

从零开始学习 Java:简单易懂的入门指南之线程同步(三十五)

线程同步1.线程同步1.1卖票【应用】1.2卖票案例的问题1.3同步代码块解决数据安全问题【应用】1.4同步方法解决数据安全问题【应用】1.5Lock锁【应用】1.6死锁2.生产者消费者2.1生产者和消费者模式概述【应用】2.2生产者和消费者案例【应用】2.3生产者和消费者案例优化【应用】2.4阻塞队列基本使用2.5阻塞队列实现等待唤醒机制1.线程同步1.1卖票【应用】案例需求某电影院目前正在上映国产大片,共有100张票,而它有3个窗口卖票,请设计一个程序模拟该电影院卖票实现步骤定义一个类SellTicket实现Runnable接口,里面定义一个成员变量:privateinttickets=1

三十八、动态规划——背包问题( 01 背包 + 完全背包 + 多重背包 + 分组背包 + 优化)

动态规划-背包问题算法主要内容一、基本思路1、背包问题概述2、动态规划(DP)问题分析二、背包问题1、01背包问题2、完全背包问题3、多重背包问题4、分组背包问题三、例题题解一、基本思路1、背包问题概述01背包问题:条件:N个物品容量为V的背包,每件物品最多用1次,其中物品信息体积为Vi,价值为Wi。目标:选出物品,使价值最大(不一定装满背包)。特点:每件物品最多只用1次完全背包问题:特点:每一件物品都有无限个多重背包问题:特点:每个物品有si个(有限个)优化:当面对物品种类比较多的时候,复杂度较高,可以进行优化操作;DP优化一般是对动态规划的方程和代码做等价变形。分组背包问题:特点:有N组物

从零开始学习 Java:简单易懂的入门指南之网络编程(三十七)

网络编程1.网络编程入门1.1网络编程概述1.2网络编程三要素1.3IP地址1.4InetAddress1.5端口和协议2.UDP通信程序2.1UDP发送数据2.2UDP接收数据2.3UDP通信程序练习2.4UDP三种通讯方式2.5UDP组播实现2.6UDP广播实现3.TCP通信程序3.1TCP发送数据3.2TCP接收数据3.3TCP程序练习(传输中文)1.网络编程入门1.1网络编程概述计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程在网络通信协议下,

从零开始学习 Java:简单易懂的入门指南之线程池(三十六)

线程池1.1线程状态介绍1.2线程池-基本原理1.3线程池-Executors默认线程池1.4线程池-Executors创建指定上限的线程池1.5线程池-ThreadPoolExecutor1.6线程池-参数详解1.7线程池-非默认任务拒绝策略1.1线程状态介绍当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程状态被定义在了java.lang.Thread.State枚举类中,State枚举类的源码如下:publicclassThread{publicenumState{/*新

docker 命令详解(三十一):save

一、命令作用将指定镜像保存成tar归档文件。二、命令语法dockersave[OPTIONS]IMAGE[IMAGE...]OPTIONS说明:-o:输出到的文件。三、使用示例将镜像exp/ubuntu:v1生成exp_ubuntu_v1.tar文档:dockersave-oexp_ubuntu_v1.tarexp/ubuntu:v1四、帮助查看

互联网内卷严重?你咋不看看其他行业呢?无非是三十晚上无月亮

一千个人眼中有一千个哈姆雷特,互联网行业就像一座围城,城外的人想进来,城内的人要么卷要么躺要么润​ 真实的感受你可以现在约几个面试体验一下。内卷到什么程度?产品和运营岗,业务经验不完全对口简历都过不了,哪怕你是985学历;算法岗,也要业务经验完全匹配才行,但比产品运营稍微宽松一点;开发岗,目前比前两者都要更加宽松,但如果照这个进度发展下去,恐怕要不了多久也要完全对口才行了。现在大量做技术的因为找不到坑,开始抢产品的饭碗了,比如做开发的转数据产品经理、做算法的转AI产品经理。我预测,不出两年,非C端产品经理的面试也要手撕leetcode啦。现在面试大厂技术岗,首先要业务经历对口度80%以上,le

从零开始学习 Java:简单易懂的入门指南之IO字节流(三十)

IO流之字节流1.IO概述1.1什么是IO1.2IO的分类1.3IO的流向说明图解1.4顶级父类们2.字节流2.1一切皆为字节2.2字节输出流【OutputStream】2.3FileOutputStream类构造方法写出字节数据数据追加续写写出换行2.4字节输入流【InputStream】2.5FileInputStream类构造方法读取字节数据2.6字节流练习:图片复制复制原理图解案例实现1.IO概述1.1什么是IO生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrl+s,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些

从零开始学习 Java:简单易懂的入门指南之IO字符流(三十一)

IO流之字符流1.字符流1.1字符输入流【Reader】1.2FileReader类构造方法读取字符数据1.3字符输出流【Writer】1.4FileWriter类构造方法基本写出数据关闭和刷新写出其他数据2.IO异常的处理JDK7前处理JDK7的处理JDK9的改进3.综合练习练习1:拷贝文件夹练习2:文件加密练习3:数字排序1.字符流当使用字节流读取文本文件时,可能会有一个小问题。就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。所以Java提供一些字符流类,以字符为单位读写数据,专门用于处理文本文件。1.1字符输入流【Reader】java.io.Rea

从零开始学习 Java:简单易懂的入门指南之IO缓冲流、转换流(三十二)

缓冲流、转换流1.缓冲流1.1概述1.2字节缓冲流构造方法效率测试1.3字符缓冲流构造方法特有方法1.4练习:文本排序案例分析案例实现2.转换流2.1字符编码和字符集字符编码字符集2.2编码引出的问题2.3InputStreamReader类构造方法指定编码读取2.4OutputStreamWriter类构造方法指定编码写出转换流理解图解2.5练习:转换文件编码案例分析案例实现1.缓冲流1.1概述缓冲流,也叫高效流,是对4个基本的FileXxx流的增强,所以也是4个流,按照数据类型分类:字节缓冲流:BufferedInputStream,BufferedOutputStream字符缓冲流:Bu

【SQL开发实战技巧】系列(三十六):数仓报表场景☞整理垃圾数据:查找数据的连续性时间和重叠时间的关系,初始化开始结束时间

系列文章目录【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事【SQL开发实战技巧】系列(二):简单单表查询【SQL开发实战技巧】系列(三):SQL排序的那些事【SQL开发实战技巧】系列(四):从执行计划讨论UNIONALL与空字符串&UNION与OR的使用注意事项【SQL开发实战技巧】系列(五):从执行计划看IN、EXISTS和INNERJOIN效率,我们要分场景不要死记网上结论【SQL开发实战技巧】系列(六):从执行计划看NOTIN、NOTEXISTS和LEFTJOIN效率,记住内外关联条件不要乱放【SQL开发实战技巧】系列(七):从有重复数据前提下如何比较出两个表中的差异数据及