<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[11onhook的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yj201711</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yj201711]]></copyright><item><title><![CDATA[网络编程（2）---TCP/IP协议]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86655087</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86655087</guid><author>yj201711</author><pubDate>Sat, 26 Jan 2019 11:25:40 +0800</pubDate><description><![CDATA[TCP/IP协议是Internet最基本的协议，Internet国际互联网络的基础，由网络层的IP协议和传输层的TCP协议组成。通俗而言，TCP负责发现传输的问题，一有问题就发出信号，要求重新传输，直到所有数据安全正确的传输到目的地，而IP是给因特网的每一台联网设备规定一个地址。

TCP传输模式

IP层接收由更低层（网络接口层例如以太网设备驱动程序）发来的数据包，并把该数据包发送到更高层---...]]></description><category></category></item><item><title><![CDATA[网络编程（1）---计算机网络基本概念]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86636918</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86636918</guid><author>yj201711</author><pubDate>Fri, 25 Jan 2019 10:34:53 +0800</pubDate><description><![CDATA[ 计算机网络的主要功能和分类

计算机网络

是指将地理位置不同的具有独立功能的多台计算机及其外部设备，通过通信线路链接起来，在网络操作系统、网络管理软件及网络通信协议的管理和协调下，实现资源共享和信息传递的计算机系统。

计算机网络的分类

由于计算机网络自身的特点，其分类方法有多种。根据不同的分类原则，可以得到不同类型的计算机网络。

按网络所覆盖的地理范围的不同，计算机网路可分为局域网（LA...]]></description><category></category></item><item><title><![CDATA[GUI图形编程（12）---JTable的基本组成]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86636647</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86636647</guid><author>yj201711</author><pubDate>Fri, 25 Jan 2019 10:01:31 +0800</pubDate><description><![CDATA[表格：JTable

表头   +  内容；

表头的表示：String[]               内容的表示：Object[][]

1、创建一张table的方式
            JTable(Object[][] rowData, Object[] columnNames)
            •JTable(Vector rowData, Vector columnName...]]></description><category></category></item><item><title><![CDATA[GUI图形编程（11）---树形菜单]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86621810</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86621810</guid><author>yj201711</author><pubDate>Thu, 24 Jan 2019 10:27:58 +0800</pubDate><description><![CDATA[

 


package org.lanqiao.menu.demo;

import java.awt.Container;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
impor...]]></description><category></category></item><item><title><![CDATA[GUI图形编程（10）---菜单组件]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86621522</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86621522</guid><author>yj201711</author><pubDate>Thu, 24 Jan 2019 10:23:12 +0800</pubDate><description><![CDATA[


package org.lanqiao.menu.demo;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemLis...]]></description><category></category></item><item><title><![CDATA[GUI图形编程（9）---验证码]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86621466</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86621466</guid><author>yj201711</author><pubDate>Thu, 24 Jan 2019 10:17:42 +0800</pubDate><description><![CDATA[
package org.lanqiao.loginui;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.io.FileOutpu...]]></description><category></category></item><item><title><![CDATA[GUI图形编程（8）---键盘事件]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86621372</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86621372</guid><author>yj201711</author><pubDate>Thu, 24 Jan 2019 10:15:33 +0800</pubDate><description><![CDATA[键盘事件  keyListener

对键盘都定义了一个唯一的整数，来表示键盘上的某一个键
 


package org.lanqiao.loginui;

import java.awt.Cursor;
import java.awt.Image;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
imp...]]></description><category></category></item><item><title><![CDATA[GUI图形编程（7）---适配器模式]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86621235</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86621235</guid><author>yj201711</author><pubDate>Thu, 24 Jan 2019 10:11:53 +0800</pubDate><description><![CDATA[在Swing事件机制所采用的设计模式：适配器模式

定义一个接口：在接口中定义所需要的规范（方法）
	定义一个抽象类  抽象类实现了接口，抽象类中对接口中的方法都是空实现
	在使用的时候，不需要去实现接口（不需要去实现接口中的所有的方法），去继承抽象类适配器，需要那个方法，就重写那个方法
在实际开发中，事件的添加

需要知道事件源
	需要知道该组件需要绑定的是那种事件
	一般使用匿名内部类去实现事...]]></description><category></category></item><item><title><![CDATA[GUI图形编程（6）---事件]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86620881</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86620881</guid><author>yj201711</author><pubDate>Thu, 24 Jan 2019 10:02:53 +0800</pubDate><description><![CDATA[事件的概念

事件处理是界面处理的基本功能，当用户点击鼠标或者按下键盘时，Swing界面上获得焦点的组件都会收到一个事件通知，这个事件通知是Swing体系内部发出的，界面就会根据收到的事件通知，做出相应的处理，比如弹出对话框或者读取用户输入。



Java Swing事件处理模型

                                     事件源  ；   注册事件监听器   ；...]]></description><category></category></item><item><title><![CDATA[GUI图形编程（5）---登陆界面设计]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86606058</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86606058</guid><author>yj201711</author><pubDate>Wed, 23 Jan 2019 10:44:47 +0800</pubDate><description><![CDATA[ 案例




package org.lanqiao.loginui;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swi...]]></description><category></category></item><item><title><![CDATA[GUI图形编程（4）---布局管理]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86605546</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86605546</guid><author>yj201711</author><pubDate>Wed, 23 Jan 2019 10:37:20 +0800</pubDate><description><![CDATA[布局管理：组件在面板中的排列方式

布局管理器：LayoutManager   

常见的布局：

FlowLayout 流式布局
	BordLayout 边框布局
	GridLayout 网格布局
	CardLayout 卡片布局
	空布局













package org.lanqiao.layout.demo;

import java.awt.BorderLayout;
i...]]></description><category></category></item><item><title><![CDATA[GUI图形编程（3）---组件_JComponent]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86605446</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86605446</guid><author>yj201711</author><pubDate>Wed, 23 Jan 2019 10:19:40 +0800</pubDate><description><![CDATA[

            







 


package org.lanqiao.gui.demo;

import java.awt.Toolkit;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
imp...]]></description><category></category></item><item><title><![CDATA[GUI图形编程（2）---JFrame的使用]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86604937</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86604937</guid><author>yj201711</author><pubDate>Wed, 23 Jan 2019 10:06:31 +0800</pubDate><description><![CDATA[容器：JFrame  



常用构造方法：

JFrame()：可以创建一个无标题的窗口。
	 JFrame(String title)：创建一个标题为title的窗口
常用方法：

getTitle()/setTitle()：获取/设置窗口的标题。
	getState/setState()：获取/设置窗口的最小化、最大化等状态。
	isVisible()/setVisible()：获取/设置窗...]]></description><category></category></item><item><title><![CDATA[GUI图形编程（1）---GUI和Swing概述]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86604618</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86604618</guid><author>yj201711</author><pubDate>Wed, 23 Jan 2019 09:51:09 +0800</pubDate><description><![CDATA[GUI

Graphical User Interface（图形用户接口）就是应用程序提供给用户操作的图形界面，包括窗口、菜单、工具栏和其他各种屏幕元素。

图形界面程序可以使用各种各样的图形界面元素，如文本框、按钮、列表框、对话框等，我们将这些图形界面元素称为GUI组件，在这些组建上不能容纳其他的组件。

容器其实也是一种组件，是一种比较特殊的组件，他可以用来容纳其他的组件，如窗口、对话框、所有...]]></description><category></category></item><item><title><![CDATA[JAVA高级基础（78）---生产者消费者模型]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86563180</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86563180</guid><author>yj201711</author><pubDate>Sun, 20 Jan 2019 16:33:03 +0800</pubDate><description><![CDATA[在线程通信中，有一个非常典型的例子：

                                     生产者消费者模式

一种重要的模型，基于 等待/通知 机制。生产者/消费者 模型描述的是有一块缓冲区作为仓库，生产者可将产品放入仓库，消费者可以从仓库中取出产品，生产者/消费者模型关注的是以下几个点：

生产者生产的时候消费者不能消费
	消费者消费的时候生产者不能生产
	缓冲区空时消费...]]></description><category></category></item><item><title><![CDATA[JAVA高级基础（77）---互斥锁]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86563069</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86563069</guid><author>yj201711</author><pubDate>Sun, 20 Jan 2019 16:22:04 +0800</pubDate><description><![CDATA[互斥锁

 

JDK1.5的新特性：互斥锁

所谓互斥锁，指的是一次最多只能有一个线程持有的锁。在jdk1.5之前，我们通常使用synchronized机制控制多个线程对共享资源的访问。而现在，Lock提供了比synchronized机制更广泛的锁定操作。



线程同步：使用ReentrantLock类的lock()和unlock()方法进行同步通信

通信：

使用ReentrantLock...]]></description><category></category></item><item><title><![CDATA[JAVA高级基础（76）---线程通信]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86563000</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86563000</guid><author>yj201711</author><pubDate>Sun, 20 Jan 2019 16:12:43 +0800</pubDate><description><![CDATA[线程通信

线程由运行到阻塞 再到就绪

主要用到的方法

Object类中的

wait()//时线程处于等待状态，如果没有线程来唤醒 那么该线程将一直处于等待状态，直到有线程调用notify /notifyAll来唤醒该线程。
	wait(long  min); 也会是线程处于等待状态；线程重新回到就绪状态的条件：一 、等到的时间到  二、 有线程调用notify /notifyAll来唤醒该...]]></description><category></category></item><item><title><![CDATA[JAVA高级基础（75）---死锁问题]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86552089</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86552089</guid><author>yj201711</author><pubDate>Sat, 19 Jan 2019 14:37:41 +0800</pubDate><description><![CDATA[死锁问题

当多线程执行任务时，存在线程并发的问题时，因为为了保证共享数据的安全，需要在每个线程执行任务时不允许其他线程执行该任务，需要在线程执行时，添加同步，添加锁。如果是单任务，则不会出现。如果在该任务中，需要同步多条语句，且每个同步语句使用的锁不同，那么就有可能出现死锁问题。

例子：两个人去就餐，但是只有一双筷子。只有一个人同时拿到两只筷子，才可以吃东西。

死锁产生

两个线程，分别持有...]]></description><category></category></item><item><title><![CDATA[JAVA高级基础（74）---线程协作_销售火车票Executor方式]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86552066</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86552066</guid><author>yj201711</author><pubDate>Sat, 19 Jan 2019 14:31:16 +0800</pubDate><description><![CDATA[
package org.lanqiao.thread.demo;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Execut...]]></description><category></category></item><item><title><![CDATA[JAVA高级基础（73）---线程协作_销售火车票传统方式]]></title><link>https://blog.youkuaiyun.com/yj201711/article/details/86552013</link><guid>https://blog.youkuaiyun.com/yj201711/article/details/86552013</guid><author>yj201711</author><pubDate>Sat, 19 Jan 2019 14:29:43 +0800</pubDate><description><![CDATA[线程的协作：
        1 一列火车有100个座位，现在由5个售票窗口来进行销售。


package org.lanqiao.thread.demo;
//一列火车有100个座位，现在由5个售票窗口来进行销售。
//使用传统的线程来实现
public class SellerTicket {
	
	public static void main(String[] args) {
		Thr...]]></description><category></category></item></channel></rss>