Java 应用与开发 - 线程编程线程基础:理解任务调度、进程和线程,掌握其联系和区别; 掌握 Java 的线程模型,以及如何创建线程;理解后台线程。 2. 线程控制:理解线程的生命周期,明白各阶段的含义;掌握 线程控制方法,理解各线程控制方法对线程状态切换的作 用。 3. 线程的同步:理解临界资源问题,进一步明白线程安全的意 义;了解关键字 synchronized 的用法;了解死锁的概念;通 过生产者—消费者问题分析理解线程同步。 Thread 对象所对应的方法 run() 来 完成其操作,方法 run() 称为线程体。 1. 定义一个类实现 Runable 接口,重写其中的 run() 方法,加 入所需的处理逻辑; 2. 创建 Runable 接口实现类的对象; 3. 创建 Thread 类的对象(封装 Runable 接口实现类型对象); 4. 调用 Thread 对象的 start() 方法,启动线程。 课程配套代码 Thread 对象所对应的方法 run() 来 完成其操作,方法 run() 称为线程体。 1. 定义一个类实现 Runable 接口,重写其中的 run() 方法,加 入所需的处理逻辑; 2. 创建 Runable 接口实现类的对象; 3. 创建 Thread 类的对象(封装 Runable 接口实现类型对象); 4. 调用 Thread 对象的 start() 方法,启动线程。 课程配套代码0 码力 | 82 页 | 1010.73 KB | 1 年前3
《Java 应用与开发》课程讲义 - 王晓东. . 26 3.5.1 字符串变量的创建 . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.2 String 类的常用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.3 理解 Java 字符串 . . . . . . . . . . . 38 4.4 同名问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ii 4.4.1 方法重写 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.4.2 同名属性 . . . . . . . . . . . . . 47 5.1.2 多态用法示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.1.3 虚方法调用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.1.4 对象造型 . . . . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
JAVA 应用与开发 - 高级类特性�������������� October 9, 2018 ���� ��抽象类�接口的������定义方法 ��抽象类�接口的����� ����类的�类�����类�����类�匿名��类的 �� ��匿名内部类的���继承�接口实现的�法 ����类�的��方法 1 29 �� 1 抽象类 2 接口 3 抽象类�接口�� 4 ��类 5 ��类� 2 29 ����的抽象������������� �������的����的抽象� �: 我�抽象 3 29 ����类 �定义 Java 方法������方法�������方法的实 现�����的方法��为抽象方法� 抽象方法������abstract��� ��抽象方法的类����为抽象类�����abstract��� CODE ± 抽象类示例 1 public abstract class this.age = age; 6 } 8 public int getAge(){ 9 return age; 10 } 12 public abstract void eat(); //抽象方法 13 } 4 29 ����类 CODE ± 抽象类继承 1 public class Person extends Animal { 2 private String name; 30 码力 | 61 页 | 677.55 KB | 1 年前3
Apache Shiro 1.2.x Reference Manual 中文翻译缓存:缓存是 Apache Shiro 保证安全操作快速、高效的重要手段。 并发:Apache Shiro 支持多线程应用程序的并发特性。 测试:支持单元测试和集成测试,确保代码和预想的一样安全。 "Run As":这个功能允许用户假设另一个用户的身份(在许可的前提下)。 "Remember Me":跨 session 记录用户的身份,只有在强制需要时才需要登录。 Apache Shiro 1.2 pom.xml 文件: 教程中的 class 我们将运行一个简单的命令行应用程序,因此我们将需要创建一个带 public static void main(String[] args) 方法 Java 类。 包含 pom.xml 文件的同一个目录下,创建一个*src/main/java 子目录。 在 src/main/java 创建一 个 Tutorial.java 文件,包含以下内容: exit(0); } } 先不要管引入包的问题。下午将会很快提到。我们先测试下这个应用,会输出 "My First Apache Shiro Application" 并且退出。 Test Run 测试运行 Apache Shiro 1.2.x Reference Manual 中文翻译 9 2. Tutorial 教程 在教程项目的根目录(如 shiro-tutorial )执行以下命令提示符中0 码力 | 196 页 | 2.34 MB | 1 年前3
Apache Shiro参考手册中文版Concurrency:Apache Shiro 利用它的并发特性来支持多线程应用程序。 Testing:测试支持的存在来帮助你编写单元测试和集成测试,并确保你的能够如预期的一样安全。 "Run As":一个允许用户假设为另一个用户身份(如果允许)的功能,有时候在管理脚本很有用。 "Remember Me":在会话中记住用户的身份,所以他们只需要在强制时候登录。 Apache build.sourceEncoding}The Tutorial class 我们将运行一个简单的命令行应用程序,因此,我们需要创建一个拥有 public static void main(String[] args)方法的 Java 类。 在包含你 pom.xml 文件的同样目录下,创建 src/main/java 子目录。在 src/main/java 目录下创建具有下面内容的 Tutorial.java 0 码力 | 92 页 | 1.16 MB | 1 年前3
Java 应用与开发 - Servlet 编程学习目标 1. 理解 Web 的概念及工作模式,掌握 Java Web 应用的构成。 2. 掌握 Servlet 的概念、体系结构及生命周期管理基本原理。 3. 掌握 Servlet 的编程及配置方法,了解 Servlet 的在 Tomcat 服务器上的部署方式(war)。 大纲 Web 基础 Servlet 概述 Servlet 编程 Servlet 生命周期 Servlet 配置 Servlet 当 Web 容器接收到对它的 HTTP 请求时,自动创建 Servlet 对象,并自动调用它的 doPost 或 doGet 方法。 Servlet 的主要功能 ▶ 接收用户 HTTP 请求。 ▶ 取得 HTTP 请求提交的数据。 ▶ 调用 JavaBean 对象的方法。 ▶ 生成 HTML 类型或非 HTML 类型的 HTTP 动态响应。 ▶ 实现其他 Web 组件的跳转,包括重定向和转发。 Servlet 概述 Servlet 编程 Servlet 生命周期 Servlet 配置 Servlet 部署 Servlet 示例 重写 doGet 方法 父类 HttpServlet 的 doGet 方法是空的,没有实现任何代码,子 类需要重写此方法。 2 public void doGet(HttpServletRequest request, HttpServletResponse response)0 码力 | 50 页 | 725.36 KB | 1 年前3
跟我学Shiro - 张开涛com/ 6 提高效率; Concurrency:shiro 支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能 把权限自动传播过去; Testing:提供测试支持; Run As:允许一个用户假装为另一个用户(如果他们允许)的身份进行访问; Remember Me:记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录 了。 记住一点,Shiro Subject,其会自动绑定到当前线程;如果在 web 环境在请求结 束时需要解除绑定;然后获取身份验证的 Token,如用户名/密码; 2.4、调用 subject.login 方法进行登录,其会自动委托给 SecurityManager.login 方法进行登录; 2.5 、 如 果 身 份 验 证 失 败 请 捕 获 AuthenticationException 或 其 子 类 , 常 见 的 如 : D 错误”而不是“用户名错误”/“密码错误”,防止一些恶意用户非法扫描帐号库; 2.6、最后可以调用 subject.logout 退出,其会自动委托给 SecurityManager.logout 方法退出。 从如上代码可总结出身份验证的步骤: 1、收集用户身份/凭证,即如用户名/密码; 2、调用 Subject.login 进行登录,如果失败将得到相应的 AuthenticationException0 码力 | 219 页 | 4.16 MB | 10 月前3
Nacos架构&原理
其实,⼀致性协议,就是用来保证数据⼀致的,而数据的产生,必然有⼀个写入的动作;同时还要 能够读数据,并且保证读数据的动作以及得到的数据结果,并且能够得到⼀致性协议的保障。因此, ⼀致性协议最最基础的两个方法,就是写动作和读动作 public interface ConsistencyProtocolexten Response write(WriteRequest request) throws Exception; ... } 任何使用⼀致性协议的,都只需要使用 getData 以及 write 方法即可。同时,⼀致性协议已经被 抽象在了 consistency 的包中,Nacos 对于 AP、CP 的⼀致性协议接口使用抽象都在里面,并且 在实现具体的⼀致性协议时,采用了插件可插拔的形式,进⼀步将⼀致性协议具体实现逻辑和服务 Eureka 都实现了⼀种 TTL 的机制,就是如果客户端在⼀定时间内没有向注册中心发 送心跳,则会将这个客户端摘除。Eureka 做的更好的⼀点在于它允许在注册服务的时候,自定义检 查自身状态的健康检查方法。这在服务实例能够保持心跳上报的场景下,是⼀种比较好的体验,在 Dubbo 和 SpringCloud 这两大体系内,也被培养成用户心智上的默认行为。Nacos 也支持这种 TTL 机制,不过这与 0 码力 | 326 页 | 12.83 MB | 10 月前3
Java 源码剖析——彻底搞懂Reference 和ReferenceQueue引用实例在创建时没有指定一个引用队列, 我们要想知道实际对象是否被回收,就只能够不停地轮询引用实例的get()方法是否为空了。值得注意 是虚引用PhantomReference,由于它的get()方法永远返回null,因此它的构造函数必须指定一个引 队列。这两种查询实际对象是否被回收的方法都有应用,如weakHashMap中就选择去查询queue的 据,来判定是否有对象将被回收;而ThreadLo ReferenceHandler extends Thread { ...... 原文链接:Java 源码剖析——彻底搞懂 Reference 和 ReferenceQueue public void run() { while (true) { tryHandlePending(true); } } } ReferenceHandler是一个优先级最高 Reference对外提供的方法就比较简单了: public T get() { return this.referent; } get()方法就是简单的返回引用实例所引用的实际对象,如果该对象被回收了或者该引用实例被clear 则返回null public void clear() { this.referent = null; } 调用此方法不会导致此对象入队。此方法仅由Java代码调用;当垃圾收集器清除引用时,它直接执行0 码力 | 6 页 | 283.24 KB | 1 年前3
Linux Docker Messecho命令用于向窗口输出文本。 chmod +x ./test.sh ./test.sh 执行脚本 Architecture File System n 文件系统是文件存放在磁盘等存储设备上的组织方法 n Linux能够支持目前流行的N多文件系统,如Btrfs、JFS、 ReiserFS、 ext、ext2、ext3、ext4、…… 文件类型 n 普通文件:C语言元代码、SHELL脚本、二进制的可执行文件等,分为 Image的重用和共享发布等 Growing Docker 例如,百度的BAE平台的PaaS服务由Docker支持。 Technologies in Docker Docker是一个操作系统级的、容器化的虚拟化方法。 隔离性 Linux Namespace (NS) pid namespace 不同用户的进程就是通过pid namespace隔离开的,且不 同namespace中可以有相同pid,所有的LXC进程在docker Docker/Images$ docker pull mysql Using default tag: latest latest: Pulling from library/mysql …… Run a Container from a Image xiaodong@ubuntu:~/Workspace_Docker$ docker images REPOSITORY TAG0 码力 | 77 页 | 7.40 MB | 1 年前3
共 390 条
- 1
- 2
- 3
- 4
- 5
- 6
- 39













