Java实验报告五:Java网络编程及安全 20135315 宋宸宁一、实验内容1.掌握Socket程序的编写;2.掌握密码技术的使用;3.设计安全传输系统。二、实验步骤1. 基于Java Socket实现安全传输2. 基于TCP实现客户端和服务器,结对编程一人负责客户端,一人负责服务器3. 使用Git进行版本控制4. 选择对称算法进行数据加解密.5. 选择...
基础知识:1、osi分层模型和TCP/IP分层模型对应关系 2、七层模型与协议的对应关系 网络层 ------------ IP(网络之间的互联协议) 传输层 ------------ TCP(传输控制协议)、UDP(用户数据报协议) 应用层 ------------ Telnet(Internet远程登录服务的标准协议和主要方式)、FTP(文本传输协议)、HTTP(超文本传送协议)3、IP地址和端口号1、ip地址用于唯一标示网络中的一个通信实体,这个...
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。public class Example04 { public static void main(String[] args) { f(100); } public static void f(int n) { int k = 2; System.out.print(n + "="); while (k <= n) { if (k == n) { System.out.println(n); break; } else if (n % k == 0) { System.out....
Java并发编程之验证volatile不能保证原子性通过系列文章的学习,凯哥已经介绍了volatile的三大特性。1:保证可见性 2:不保证原子性 3:保证顺序。那么怎么来验证可见性呢?本文凯哥(凯哥Java:kaigejava)将通过代码演示来证明为什么说volatile不能够保证共享变量的原子性操作。我们来举个现实生活中的例子:中午去食堂打饭,假设你非常非常的饥饿,需要一荤两素再加一份米饭。如果食堂打饭的阿姨再给你打一个菜的时候,被其他人打断...
「 盛年不重来,一日难再晨,及时当勉励,岁月不待人。」 陶渊明我们已经知道同步代码块和同步方法可以保证以原子的方式执行,其实,同步还有另外一个重要概念:内存可见性。换句话说,我们不仅希望防止某个线程正在使用对象状态而另一个线程同时在修改状态,而且希望确保当一个线程修改了对象的状态后,其他线程能够看到修改后的状态。可见性一个线程对共享变量值的修改,能够及时的被其他线程看到。可见性微妙的,这是因为可能发生...
国内首部Java多线程设计模式原创作品《Java多线程编程实战指南(设计模式篇)》已由电子工业出版社出版。本书从理论到实战,用生活化的实例和通俗易懂的语言全面介绍Java多线程编程的"三十六计"——多线程设计模式。当当、亚马逊、京东、互动出版网、淘宝等各大书店有售。【样章】http://viscent.iteye.com/category/328291【前言】随着现代CPU的生产工艺从提升CPU主频频率转向多核化,即在一块芯片上集成多个CPU内核(Core),以往...
方法 1/* **********************************************************************************1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。*************************************************************************************/答:package com.example; import java.io.File;import java.io.FileReader;import jav...
1、网络编程概述
(1)网络模型
OSI参考模型
TCP/IP参考模型
(2)网络通讯要素
IP地址
端口号
传输协议
(3)网络通讯前提:
**找到对方IP
**数据要发送到指定端口。为了标示不同的应用程序,所以给这些网络应用程序都用数字进行标示,这个表示就叫端口。
**定义通信规则。这个规则称为通信协议,国际组织定义了通用协议TCP/IP
(4)计算机网络:
...
1、 数据持久化:将程序中的数据在瞬时状态和持久状态间转换的机制即为数据持久化;2、 持久化的实现方式:数据库、普通文件、XML文件;3、 JDBC封装:采用面向接口编程,可以降低代码间的耦合性;为了提高代码的维护性和扩展性,我们使用JDBC进行封装数据,:先定义统一的API,将操作数据的代码抽象到接口中,业务逻辑代码只需要调用这些接口的实现类的对象,就可以实现对数据的访问了,从而隔离实现的细节,...
写多了jsp,对于页面式的系统已经写烦了,本人也開始着手于java
swing的学习,作为菜鸟,仅想用博客记录下我的swing学习的历程。话不多说,首先開始我的第一个窗体化程序。下面给出源码:package com.beyole.util;import java.awt.Color;import javax.swing.JFrame;public class test1 {public static void main(String[] args) {JFrame frame=new JFrame("第一个窗口程序");frame.setSize(400, 400);frame.setBackground(Color.w...
一 、Github项目地址:https://github.com/mushan520/Four-fundamental-rules-java.git 或 https://github.com/SAH2019/as 二、PSP表格:PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)Planning计划60 45· Estimate· 估计这个任务需要多少时间6045Development开发12601515· Analysis· 需求分析 60 90 · Design Spec· 生成设计文档6060· Design Review· 设...
http://www.robotsky.com/ZhiN/MoS/2011-08-25/13142461416649.html用Java开源项目JOONE实现人工智能编程http://www.robotsky.com 来源:网络 时间:2011-08-25 评论 0 条(访问论坛)' ref='nofollow'>RobotSky恭候您的投稿>>很少有程序员不对这里或者那里所包含的人工智能编程所吸引,然而,许多对AI感兴趣的程序员很快就因其中包含的算法的复杂性而退却。在本文中,我们将讨论一个能大大简化这种复杂性的Java开源工程。 ...
所谓面向抽象编程是指当设计某种重要的类时,不让该类面向具体的类,而是面向抽象类,及所设计类中的重要数据是抽象类声明的对象,而不是具体类声明的对象。就是利用abstract来设计实现用户需求。比如:我们有一个Circle圆类,计算其面积。123456789public class Circle extends Geometry{ double r; Circle(double r){ this.r = r; } public double getArea(){ return (3.14*r*r); }}现在要设计一个...
Java并发编程之CAS二源码追根溯源在上一篇文章中,我们知道了什么是CAS以及CAS的执行流程,在本篇文章中,我们将跟着源码一步一步的查看CAS最底层实现原理。本篇是《凯哥(凯哥Java:kagejava)并发编程学习》系列之《CAS系列》教程的第二篇:从源码追根溯源查看CAS最底层是怎么实现的。本文主要内容:CAS追根溯源,彻底找到CAS的根在哪里。一:查看AtomicInteger.compareAndSet源码通过上一篇文章学习,我们知道了AtomicInteger.comp...
ReentrantLock是一个较为常用的锁对象。在上次分析的uil开源项目中也多次被用到,下面谈谈其概念和基本使用。概念一个可重入的互斥锁定 Lock,它具有与使用 synchronized 相同的一些基本行为和语义,但功能更强大。名词解释:互斥表示同一时刻,多个线程中,只能有一个线程能获得该锁。但是多个线程都可以调用lock方法,只有一个会成功,其他的线程会被阻塞,直到该锁被释放可重入模仿synchronized 的语义;如果线程进入由线程已经...