自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (21)
  • 收藏
  • 关注

翻译 corejava11(7.5 日志)

7.5 日志每一个Java程序员都熟悉将System.out.println调用添加到麻烦代码中以了解程序行为的过程。当然,一旦找出了问题的原因,就可以删除打印语句,只在下一个问题出现时将它们放回原处。日志API旨在解决这个问题。API的主要优点如下:很容易抑制所有日志记录或低于某个级别的日志记录,也很容易将其重新打开。抑制日志非常便宜,因此将日志代码留在应用程序中只会受到最小的惩罚。日...

2019-06-12 12:40:20 342 1

翻译 corejava11(7.4 使用断言)

7.4 使用断言断言是防御性编程的常用习惯用法。在下面的部分中,您将学习如何有效地使用它们。7.4.1 断言概念假设您确信某个特定属性已经实现,并且您在代码中依赖该属性。例如,您可能正在计算double y = Math.sqrt(x);你确定x不是负的。可能是另一个计算的结果不能有负的结果,或者是一个方法的参数,它要求调用方只提供正的输入。尽管如此,您还是希望进行双重检查,而不是允...

2019-06-12 12:39:37 301

翻译 corejava11(7.3 使用异常的提示)

7.3 使用异常的提示关于如何正确使用异常,存在着一定的争议。一些程序员认为所有检查异常都是令人讨厌的,其他人认为似乎扔得不够多。我们认为异常(甚至是检查异常)有它们的用处,并为您提供正确使用它们的提示。异常处理不应该替换简单的测试。作为一个例子,我们编写了一些代码,尝试10000000次来弹出一个空堆栈。它首先通过找出堆栈是否为空来实现这一点。if (!s.empty()) s.po...

2019-06-12 12:39:03 208

翻译 corejava11(7.2 捕获异常)

7.2 捕获异常你现在知道如何抛出异常了。这很容易:你扔了就忘了。当然,有些代码必须捕获异常。捕获异常需要更多的计划。这就是下一节将要讨论的内容。7.2.1 捕获一个异常如果在任何地方都没有捕捉到异常,程序将终止并向控制台打印一条消息,给出异常的类型和堆栈跟踪。GUI程序(applets和应用程序)捕获异常,打印堆栈跟踪消息,然后返回用户界面处理循环。(调试GUI程序时,最好将控制台保持在屏...

2019-06-12 12:38:19 228

翻译 corejava11(7.1 处理错误)

7.1 处理错误假设Java程序正在运行时发生错误。错误可能是由包含错误信息的文件、不稳定的网络连接或(我们不想提及)使用无效的数组索引或尚未分配给对象的对象引用引起的。用户希望程序在发生错误时能够灵敏地运行。如果操作因错误而无法完成,程序应该返回到安全状态并允许用户执行其他命令;或允许用户保存所有工作并优雅地终止程序。这可能不容易做到,因为检测(甚至导致)错误条件的代码通常远离可以将...

2019-06-12 08:35:08 229

翻译 corejava11(7.0 目录)

第七章 异常,断言,和日志在本章中7.1 处理错误7.2 捕获异常7.3 使用异常的提示7.4 使用断言7.5 日志7.6 调试提示在一个完美的世界里,用户永远不会以错误的形式输入数据,他们选择打开的文件总是存在的,代码永远不会有错误。到目前为止,我们大多把代码表现得好像生活在这样一个完美的世界里。现在是时候使用Java编程语言处理坏数据和错误代码的真实世界的机制了。遇到错误...

2019-06-11 08:35:15 192

翻译 corejava11(6.5 代理)

6.5 代理在本章的最后一节中,我们将讨论代理。可以使用代理在运行时创建实现给定接口集的新类。只有在编译时还不知道需要实现哪些接口时,才需要代理。对于应用程序程序员来说,这不是一个常见的情况,所以如果您对高级向导不感兴趣,可以跳过这一节。但是,对于某些系统编程应用程序,代理提供的灵活性可能非常重要。6.5.1 何时使用代理假设您要构造一个类的对象,该类实现一个或多个接口,您可能在编译时不知道...

2019-06-10 08:59:44 128

翻译 corejava11(6.4 服务装载机)

6.4 服务装载机有时,您使用服务体系结构开发应用程序。有些平台鼓励使用这种方法,例如OSGi(http://osgi.org),它用于开发环境、应用程序服务器和其他复杂的应用程序。这样的平台远远超出了本书的范围,但是JDK还提供了一个加载服务的简单机制,我们在这里描述。Java平台模块系统很好地支持了这个机制,参见第二卷第9章。通常,在提供服务时,程序希望给服务设计者一些自由,让他们知道如何...

2019-06-09 11:14:50 158

翻译 corejava11(6.3 内部类)

6.3 内部类内部类是在另一个类中定义的类。你为什么要这么做?有两个原因:内部类可以对同一包中的其他类隐藏。内部类方法可以从定义它们的作用域访问数据,包括那些原本是私有的数据。内部类过去对于简洁地实现回调非常重要,但现在lambda表达式做得更好。不过,内部类对于构建代码非常有用。以下部分将引导您了解所有详细信息。C++注意C++有嵌套类。嵌套类包含在封闭类的范围内。这里有一个典...

2019-06-08 11:18:11 270

翻译 corejava11(6.2 Lambda表达式)

6.2 Lambda表达式在下面的部分中,您将学习如何使用lambda表达式以简洁的语法定义代码块,以及如何编写使用lambda表达式的代码。6.2.1 为什么使用lambda表达式?lambda表达式是可以传递的代码块,以便以后执行一次或多次。在进入语法(甚至好奇的名字)之前,让我们后退一步,观察我们在Java中使用了哪些代码块。在第310页的第6.1.7节“接口和回调”中,您看到了如何...

2019-06-08 09:57:34 391

翻译 corejava11(6.1 接口)

6.1 接口在下面的部分中,您将了解Java接口是什么以及如何使用它们。您还可以了解在Java的最新版本中接口是如何变得更强大的。6.1.1 接口概念在Java编程语言中,接口不是类,而是要符合接口的类的一组需求。通常,一些服务的供应商会说:“如果您的类符合特定的接口,那么我将执行该服务。”让我们来看一个具体的例子。Arrays类的sort方法承诺对对象数组进行排序,但有一个条件:对象必须...

2019-06-06 09:16:16 166

翻译 corejava11(6.0 目录)

第六章 接口,Lambda表达式,以及内部类在本章6.1 接口6.2 Lambda表达式6.3 内部类6.4 服务加载者6.5 代理现在您已经了解了类和继承,Java中面向对象编程的关键概念。本章向您展示几种常用的高级技术。尽管它们的性质不太明显,但您需要掌握它们来完成Java工具箱。第一种技术称为接口,它是一种描述类应该做什么的方法,而不指定它们应该如何做。类可以实现一个或多...

2019-06-05 09:16:10 104

翻译 corejava11(5.8 继承的设计提示)

5.8 继承的设计提示我们想在本章结尾给出一些提示,说明在使用继承时我们发现这一点很有用。在超类中放置通用操作和字段。这就是为什么我们将name字段放入Person类,而不是在Employee和Student类中复制它。不要使用protected字段。一些程序员认为,最好将大多数实例字段定义为protected,“以防万一”,这样子类可以在需要时访问这些字段。然而,由于两个原因,...

2019-06-04 08:43:37 109

翻译 corejava11(5.7 反射)

5.7 反射反射库为您提供了一个非常丰富和精细的工具集来编写程序,动态地操纵Java代码。使用反射,Java可以支持用户界面生成器、对象关系映射器以及许多动态查询类的能力的其他开发工具。可以分析类功能的程序称为反射程序。反射机制非常强大。正如下一节所示,您可以使用它在运行时分析类的功能例如,在运行时检查对象,以编写适用于所有类的单个toString方法实现通用数组操作代码利用像C++...

2019-06-03 10:59:09 225

翻译 corejava11(5.6 枚举类)

5.6 枚举类您在第3章中看到了如何定义枚举类型。下面是一个典型的例子:public enum Size { SMALL, MEDIUM, LARGE, EXTRA_LARGE }此声明定义的类型实际上是一个类。类正好有四个实例,无法构造新对象。因此,对于枚举类型的值,不需要使用equals。只需使用==进行比较。如果愿意,可以向枚举类型添加构造函数、方法和字段。当然,只有在构造枚举常...

2019-05-30 01:52:25 110

翻译 corejava11(5.5 参数个数可变的方法)

5.5 参数个数可变的方法可以提供可以用可变数量的参数调用的方法。(这些方法有时称为“varargs”方法。)您已经看到这样一种方法:printf。例如,调用System.out.printf("%d", n);以及System.out.printf("%d %s", n, "widgets");两个调用相同的方法,即使一个调用有两个参数,另一个调用有三个参数。printf方...

2019-05-30 01:51:42 110

翻译 corejava11(5.4 对象包装器和自动装箱)

5.4 对象包装器和自动装箱有时,您需要将像int这样的基元类型转换为对象。所有基元类型都有类对应。例如,类Integer对应于基元类型int。这些类通常称为包装器(wrappers)。包装器类有明显的名称:Integer、Long、Float、Double、Short、Byte、Character和Boolean。(前六个继承自通用的超类Number。)包装类是不可变的,在构造包装后不能更改包...

2019-05-29 11:26:08 209

翻译 corejava11(5.3 通用ArrayList)

5.3 通用ArrayList在某些编程语言中,特别是在C和C++中,必须在编译时固定所有数组的大小。程序员讨厌这一点,因为它迫使他们做出不舒服的权衡。一个部门有多少员工?当然不超过100。如果有一个拥有150名员工的庞大部门怎么办?我们是否要为每个只有10名员工的部门浪费90个条目?在Java中,情况稍微好一点。可以在运行时设置数组的大小。int actualSize = . . .;v...

2019-05-29 10:50:47 168

翻译 corejava11(5.2 Object:宇宙超类)

5.2 Object:宇宙超类Object类是最终祖先——Java中每个类都扩展Object。但是,你不必写public class Employee extends Object如果没有明确提到超类,那么最终的超类Object被认为是理所当然的。由于Java中的每一个类都扩展Object,因此熟悉Object类提供的服务是很重要的。我们将详细介绍本章中的基本内容;查阅后面的章节或查看在...

2019-05-29 10:02:22 137

翻译 corejava11(5.1 类,超类,以及子类)

5.1 类,超类,以及子类让我们回到上一章讨论的Employee类。假设你在一家公司工作,在那里经理的待遇不同于其他员工。当然,经理在很多方面都和员工一样。员工和经理都有薪水。然而,虽然员工被期望完成他们分配的任务以换取他们的工资,但如果经理们真的实现了他们应该做的,他们就会得到奖金。这是一种需要继承的情况。为什么?嗯,您需要定义一个新的类,Manager,并且添加功能。但是您可以保留一些您已经...

2019-05-27 09:23:09 467

原创 charles实现https抓包

为什么要使用charleshttps是使用非对称加密算法实现的,因此直接wireshark这样的抓包工具只能抓到乱码信息,并且无法还原。charles使用的是代理方式进行抓包,相当于在客户端A和服务端B之间插入了一个中间人C,客户端A先将数据发送给中间人C,再由中间人C发送给服务端B,从而实现抓包。charles抓取浏览器https报文安装根证书打开charles,进入菜单栏中Help -...

2019-05-26 11:20:24 2923

翻译 corejava11(5.0 目录)

第五章 继承在本章5.1 类,超类,以及子类5.2 Object:最基本的超类5.3 一般数组列表5.4 对象封装和自动封包5.5 可变参数的方法5.6 枚举类5.7 反射5.8 继承的设计提示第4章介绍了类和对象。在本章中,您将学习继承,这是面向对象编程的另一个基本概念。继承背后的思想是,您可以创建基于现有类的新类。从现有类继承时,可以重用(或继承)其方法,并可以添加新方...

2019-05-25 16:07:38 121

翻译 corejava11(4.10 类设计提示)

4.10 类设计提示在本章结束时,我们不想太过繁琐乏味,我们希望给出一些提示,使您的课程在优雅的OOP圈子中更容易被接受。始终将数据保持private。这是最重要的;做任何其他事情都违反了封装。您可能偶尔需要编写一个访问或修改方法,但最好还是保留实例字段的私有性。苦涩的经验表明,数据表示可能会改变,但这种数据的使用方式改变的频率要少得多。当数据保持私有时,其表示形式的更改不会影响类的用户...

2019-05-24 09:08:12 73

翻译 corejava11(4.9 文档注释)

4.9 文档注释JDK包含一个非常有用的工具,叫做javadoc,它可以从源文件生成HTML文档。事实上,我们在第3章中描述的在线API文档仅仅是在标准Java库的源代码上运行javadoc的结果。如果在源代码中添加以特殊分隔符/**开头的注释,也可以轻松生成专业外观的文档。这是一种非常好的方法,因为它允许您将代码和文档放在一个地方。如果您将文档放在单独的文件中,那么,正如您可能知道的,代码和...

2019-05-23 15:23:59 161

翻译 corejava11(4.8 JAR文件)

4.8 JAR文件打包应用程序时,您希望给用户一个单独的文件,而不是一个由类文件填充的目录结构。Java归档(JAR)文件是为此目的而设计的。JAR文件可以包含类文件和其他文件类型,如图像和声音文件。此外,JAR文件使用熟悉的zip压缩格式进行压缩。4.8.1 创建JAR文件使用jar工具生成JAR文件。(在默认的JDK安装中,它在jdk/bin目录中。)生成新JAR文件的最常见命令使用以下...

2019-05-23 14:20:56 152

翻译 corejava11(4.7 包)

4.7 包Java允许您在称为包的集合中分组类。包便于组织您的工作,并将您的工作与其他人提供的代码库分离。在下面的部分中,您将学习如何使用和创建包。4.7.1 包名使用包的主要原因是为了保证类名的唯一性。假设两个程序员想出了提供员工类的好主意。只要他们两个将类放在不同的包中,就不会发生冲突。事实上,为了绝对保证一个唯一的包名,请使用反向写入的Internet域名(已知是唯一的)。然后对不同的...

2019-05-23 09:35:38 482

翻译 重新介绍JavaScript(JS教程)

原文链接:https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript为什么要重新介绍? 因为JavaScript因为是世界上最容易被误解的编程语言而臭名昭著。 它经常被嘲笑为玩具,但在其欺骗性简单的层面下,强大的语言功能等待着。 JavaScript现在被大量高端应用程序使用,这表...

2019-05-22 23:40:16 318

翻译 corejava11(4.6 对象构造)

4.6 对象构造您已经了解了如何编写定义对象初始状态的简单构造函数。但是,由于对象构造非常重要,Java提供了很多用于编写构造函数的机制。我们将在下面的章节中介绍这些机制。4.6.1 重载有些类有多个构造函数。例如,可以将空的StringBuilder对象构造为var messages = new StringBuilder();或者,可以指定初始字符串:var todoList ...

2019-05-21 11:07:53 132

翻译 corejava11(4.5 方法参数)

4.5 方法参数让我们回顾一下计算机科学术语,它描述了如何用编程语言将参数传递给方法(或函数)。值调用一词意味着该方法只获取调用方提供的值。相反,引用调用意味着该方法获取调用方提供的变量的位置。因此,方法可以修改存储在通过引用传递的变量中的值,但不能修改存储在通过值传递的变量中的值。这些“由什么调用”术语是描述各种编程语言中的方法参数的行为的标准计算机科学术语,而不仅仅是Java。(也有一个以名...

2019-05-19 19:10:52 140

翻译 corejava11(4.4 静态域和方法)

4.4 静态域和方法在您看到的所有示例程序中,主方法都用static修饰符标记。我们现在准备讨论这个修饰语的含义。4.4.1 静态域如果将字段定义为静态字段,那么每个类只有一个这样的字段。相反,每个对象都有自己的非静态实例字段副本。例如,假设我们要为每个员工分配一个唯一的标识号。我们将实例字段id和静态字段nextId添加到Employee类中:class Employee{ p...

2019-05-18 13:40:09 95

翻译 corejava11(4.3 定义你自己的类)

4.3 定义你自己的类在第3章中,您开始编写简单的类。然而,所有这些类只有一个main方法。现在是时候向您展示如何编写更复杂应用程序所需的“workhorse类”了。这些类通常没有main方法。相反,它们有自己的实例字段和方法。要构建一个完整的程序,需要组合几个类,其中一个类有一个main方法。4.3.1 一个Employee类Java中类定义最简单的形式是class ClassName...

2019-05-17 10:29:07 209

翻译 corejava11(4.2 使用预定义类)

4.2 使用预定义类在没有Java的情况下,你不能用Java做任何事情,而且你已经看到了几个类在工作。然而,并非所有这些都显示了对象方向的典型特征。以Math类为例。您已经看到,您可以使用Math.random等Math类的方法,而不需要知道它们是如何实现的,您只需要知道名称和参数(如果有的话)。这就是封装的要点,对于所有类来说,这都是正确的。但是Math类只封装了功能;它既不需要也不隐藏数据。...

2019-05-17 09:04:29 116

翻译 corejava11(4.1 介绍面向对象编程)

4.1 介绍面向对象编程面向对象编程,或者简写为OOP,是这些年领先的编程范式,它已经取代了1970年开发的“结构化”或者过程编程技术。因为Java是面向对象的,你不得不熟悉OOP以便更好使用Java。一个面向对象程序是由对象构成。每个对象有一个特定的功能,暴露给它的用户,以及一个隐藏的实现。在你程序中许多对象将从库中伸手可得;其它的也能够通过自定义设计。是否你构造一个对象,或者购买它取决于你...

2019-05-16 09:32:00 124

翻译 corejava11(4.0 目录)

第四章 对象和类在本章4.1 介绍面向对象编程4.2 使用预定义的类4.3 定义你自己的类4.4 静态域和方法4.5 方法参数4.6 对象构造4.7 包4.8 JAR文件4.9 文档注释4.10 类设计提示在本章,我们将介绍你面向对象编程向你展示,你如何从标准Java库中,根据类创建对象展示你如何写你自己的类如果你没有面向对象编程背景,你将需要仔细阅读本章。...

2019-05-16 09:31:11 122

翻译 corejava11(3.10 数组)

3.10 数组数组保存同一类型的值序列。在下面的部分中,您将看到如何在Java中使用数组。3.10.1 声明数组数组是存储同一类型值集合的数据结构。您可以通过一个整数索引访问每个单独的值。例如,如果a是整数数组,则[i]是数组中的第i个整数。通过指定数组类型来声明数组变量,该数组类型是元素类型后跟[]-和数组变量名。例如,下面是整数数组a的声明:int[] a;但是,此语句只声明变量...

2019-05-15 00:16:27 198

翻译 corejava11(3.9 大数)

3.9 大数如果基本整数和浮点类型的精度不够,可以在java.math包中找到几个方便的类:BigInteger和BigDecimal。这些类用于处理具有任意长数字序列的数字。BigInteger类实现任意精度整数算术,BigDecimal对浮点数也执行相同的操作。使用静态的valueOf方法将普通数字转换为大数:BigInteger a = BigInteger.valueOf(100);...

2019-05-15 00:15:41 163

翻译 corejava11(3.8 控制流)

Java与任何编程语言一样,支持条件语句和循环来确定控制流。我们将从条件语句开始,然后转到循环,最后是一些比较麻烦的switch语句,您可以使用它来测试单个表达式的许多值。C++注意Java控制流构造与C和C++中的相同,除了少数例外。没有goto,但是有一个“标记的”break版本,您可以使用它来中断嵌套循环(在C中,您可能会使用goto)。最后,有一个for循环的变体,它类似于C++中的...

2019-05-14 01:36:40 183

翻译 corejava11(3.7 输入和输出)

3.7 输入和输出为了使示例程序更有趣,我们希望接受输入并正确格式化程序输出。当然,现代程序使用GUI来收集用户输入。然而,对这样一个接口进行编程需要的工具和技术比我们目前所能使用的要多。我们的第一个任务是对Java编程语言更熟悉,因此我们使用谦逊的控制台进行输入和输出。3.7.1 读取输入您看到,只需调用System.out.println,就可以轻松地将输出打印到“标准输出流”(即控制台...

2019-05-14 01:35:57 236

翻译 corejava11(3.6 字符串)

3.6 字符串从概念上讲,Java字符串是Unicode字符的序列。例如,字符串“Java\u2122”由五个Unicode字符J、A、V、A和μ组成。Java没有内置的字符串类型。相反,标准Java库包含一个预定义类,称为字符串。每个带引号的字符串都是String类的实例:String e = ""; // an empty stringString greeting = "Hello";...

2019-05-14 01:35:21 360

翻译 corejava11(3.5 操作符)

3.5 操作符运算符用于组合值。正如您将在下面的章节中看到的,Java有丰富的算术和逻辑运算符和数学函数集。3.5.1 算术运算符常用的算术运算符+,-,*,/用于Java中的加法、减法、乘法和除法。如果两个参数都是整数,/运算符表示整数除法,否则表示浮点除法。整数余数(有时称为模)用%表示。例如,15/2是7,15%2是1,15.0/2是7.5。请注意,整数被0除会引发异常,而浮点被0除...

2019-05-14 01:34:23 188

pypcap-master.zip

pypcap是winpcap的python版API,目前仅python2.7可使用

2016-01-29

PAT(Basic Level)答案

自己做的PAT(Basic Level)答案,做的不是很完美,有些地方写的有点乱,望不要介意。

2015-01-08

SRVINSTW.EXE

寒江独钓-windows内核安全编程用到的工具,这里免费提供给大家,强烈鄙视那些需要积分才能下载的。

2012-07-26

JFreeChart Demo源代码

JFreeChart Demo的源代码,网上很难找到,这里免费提供给大家了

2012-06-26

免费的j2ee文档

免费的j2ee文档免费的j2ee文档

2012-05-24

仿p2p终结者java版

用java实现的类似p2p终结者的软件,修正了上个版本的一些错误,但使用界面还是没有变化

2012-02-02

用java实现的仿p2p终结者软件

java版仿p2p终结者,使用arp欺骗实现,另附源码在jar文件中

2011-12-17

java版俄罗斯方块

纯手写的俄罗斯方块,界面一般,算法一般,可玩性一般,还是值得一玩的

2011-06-05

根据经纬度计算两地距离(纠错版)

上一个版本有点问题,界面中将经度和纬度搞混了,此版本纠正了这个错误。

2011-02-24

根据经纬度计算两地距离小程序

根据经纬度计算两地距离小程序

2011-02-23

简易记事本简易记事本简易记事本

简易记事本简易记事本简易记事本简易记事本简易记事本简易记事本简易记事本简易记事本简易记事本简易记事本

2010-12-12

疯狂Java实战演义代码

源代码使用Eclipse写的,请用Eclipse加载程序

2010-10-30

隽隽在线书店的分析与设计数据库

这是mysql下建立的数据库,源于jsp数据库开发实例精粹,希望大家喜欢

2010-10-05

隽隽在线书店管理系统

隽隽在线书店管理系统

2010-10-05

华为编程规范.pdf

网上找来的有关华为的编程规范,不知道好不好,希望大家积极下载

2010-05-28

王爽的《汇编语言》免分下载

王爽的《汇编语言》是一本十分适宜初学者学习的汇编书,但他的书并没有答案,这让人做完题会有些不放心。在此,我提供我在网上找到的这本书的答案,并免分下载,希望对大家有帮助。

2010-05-18

Smart Apache

Smart Apache是一款很好的软件。它能够让你在自己的PC机上架构网站。

2010-05-15

大学物理答案第五版【马文蔚】

大学物理答案第五版【马文蔚】免分放送了,要下载的赶快下载吧。

2010-05-03

程序员羊皮卷pdf下载

程序员羊皮卷,PDF格式,免资源分下载,好得难以用言语形容

2010-04-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除