202110-12 Java实现聊天机器人完善版 本文实例为大家分享了Java实现聊天机器人完善版的具体代码,供大家参考,具体内容如下Client代码:packageGUISocket.chat.Client;importjavax.swing.JFrame;importjavax.swing.JPanel;importjava.awt.EventQueue;importjavax.swing.JLabel;importjavax.swing.JList;importjavax.swing.JTextField;importjavax.swing.DefaultListModel;importjavax.swing.JButton;importjavax.swing.JTextArea;importjavax.swing.JScrol... 继续阅读 >
202110-12 Java网络编程UDP实现消息发送及聊天 TCP可以实现聊天,UDP也可以实现消息发送及聊天。不同的是,TCP需要有服务端和客户端的连接,但UDP不需要,只需要有发送方和接收方即可。一、实现消息发送发送方:packagecom.kuang.lesson03;importjava.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net.InetAddress;importjava.net.SocketException;//不需要连接服务器publicclassUdpSenderDemo01{publicstaticvoidmain(String[]args)throwsE... 继续阅读 >
202110-12 Java网络编程TCP实现文件上传功能 本文实例为大家分享了Java网络编程TCP实现文件上传的具体代码,供大家参考,具体内容如下上一篇博客,用网络编程TCP实现聊天,这次实现文件上传。客户端:packagecom.kuang.lesson02;importjava.io.*;importjava.net.InetAddress;importjava.net.Socket;//客户端publicclassTcpClientDemo2{publicstaticvoidmain(String[]args)throwsException{//1、创建一个Socket连接Socketsocket=newSoc... 继续阅读 >
202110-12 Java网络编程TCP实现聊天功能 网络编程TCP实现聊天的前提还需要掌握IO流,话不多说,直接上代码!客户端:packagecom.kuang.lesson02;importjava.io.IOException;importjava.io.OutputStream;importjava.net.InetAddress;importjava.net.Socket;//客户端publicclassTcpClientDemo01{publicstaticvoidmain(String[]args){Socketsocket=null;OutputStreamos=null;try{//1、要知道服务器的地址、端口... 继续阅读 >
202110-12 Java网络编程实现多线程聊天 本文实例为大家分享了Java网络编程实现多线程聊天的具体代码,供大家参考,具体内容如下聊天程序如果是单线程,会导致没人只能说一句,并且说了以后,必须等到另一个人的回复,才能说第二句。收发都在主线程中,不能同时进行。解决方法:将收发放到两个不同的线程1.SendThread发送消息线程2.RecieveThread接受消息线程3.Server一旦接受到连接,就启动收发两个线程4.Client一旦建立了连接,就启动收发两个线程多线程聊天1Se... 继续阅读 >
202110-12 Java实现简单聊天机器人 本文实例为大家分享了Java实现简单聊天机器人的具体代码,供大家参考,具体内容如下整个小案例:整合了Javasocket编程、jdbc知识(ORM/DAO)创建数据库和表,准备表数据(MySQL)首先创建一个数据库android然后创建一个表dictionary,字段:idintreceivevarchar(100)responsevarchar(100)receive表示受到的信息response表示回应的信息createdatabaseandroid;useandroid;createtabledictionary(idintAUTO_INCREMENT... 继续阅读 >
202110-12 Java实现聊天机器人 本文实例为大家分享了Java实现聊天机器人的具体代码,供大家参考,具体内容如下服务器的代码:packageDay02;importjava.io.*;importjava.net.*;publicclassSocket1{publicstaticvoidmain(String[]args)throwsException{intport=8899;ServerSocketserver=null;MChatMC=newMChat();try{server=newServerSocket(port);System.out.println("服务器启动...");while(true){Socketsocket=s... 继续阅读 >
202110-12 彻底搞懂Java多线程(四) 目录SimpleDateFormat非线程安全问题ThreadLocalThreadLocal的原理ThreadLocal常用方法ThreadLocal的初始化InheritableThreadLocal的使用总结SimpleDateFormat非线程安全问题实现1000个线程的时间格式化packageSimpleDateFormat;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.concurrent.LinkedBlockingDeque;importjava.util.concurrent.ThreadPoolExecutor;importjava.util.concurrent.TimeUnit... 继续阅读 >
202110-12 彻底搞懂Java多线程(三) 目录Java线程池线程池的优点线程池的6种创建方式创建单个线程池的作用是什么?线程池的第七种创建方式ThreadPoolExecutor的执行方式ThreadPoolExecutor的执行流程线程池的终止线程池的状态异步、同步1.Java线程同步与异步线程工厂总结Java线程池线程的缺点:1.线程的创建它会开辟本地方法栈、JVM栈、程序计数器私有的内存,同时消耗的时候需要销毁以上三个区域,因此频繁的创建和销毁线程比较消耗系统的资源。2.在任务量远远大于... 继续阅读 >
202110-12 彻底搞懂Java多线程(二) 目录Java中的锁1.synchronized锁(jvm层的解决方案,也叫监视器锁)2.手动锁Locksynchronized锁synchronized使用场景1.使用synchronized来修饰代码块(可以给任意的对象进行加锁操作)2.使用synchronized来修饰静态方法(对当前的类进行加锁的操作)3.使用synchronized来修饰普通的方法(对当前类的实例来进行加锁)synchronized注意事项1.加锁的时候一定要使用同一把锁对象Lock锁使用的注意事项公平锁、非公平锁synchronzied和Lo... 继续阅读 >
202110-12 彻底搞懂Java多线程(一) 目录Java多线程线程的创建线程常用方法线程的终止1.自定义实现线程的终止2.使用Thread的interrupted来中断3.Thraed.interrupted()方法和Threaed.currentThread().interrupt()的区别线程的状态线程的优先级守护线程线程组线程安全问题volatile关键字总结Java多线程线程的创建1.继承Thread2.实现Runnable3.实现Callable使用继承Thread类来开发多线程的应用程序在设计上是有局限性的,因为Java是单继承。继承Thread类publicclassThr... 继续阅读 >
202110-12 Java面向对象基础教学(二) 目录1.使用访问修饰符: 2.static关键字:3.this关键字 总结1.使用访问修饰符: 访问修饰符同一个类中同一个包中子类中所有类中private√------default√√----... 继续阅读 >
202110-12 Java面向对象基础教学(一) 目录1.如何定义类2.如何定义属性3.如何定义普通方法4.如何创建对象5.如何定义构造方法6.什么是可变参数,怎么用?总结1.如何定义类语法:访问修饰符class类名{}publicclassskills{}2.如何定义属性语法:属性写在类里面 数据类型 变量名;publicclasshero{Stringsex;Stringname;}3.如何定义普通方法语法:访问修饰符返回值方法名(参数){}publicvoidattack(){循环体;}4.如何创建对象语法:类名... 继续阅读 >
202110-12 Java面向对象基础教学(三) 目录1.包是什么:2.Java面向对象程序设计三大重要特征:(1)封装:(2)继承extends:(3)多态3.instanceof运算符 总结1.包是什么:包相当于文件夹,把不同类型的文档归类,分别放到不同的文件夹中 语法:package<包名>;声明一个包的语句必须放在类中的第一行包的导入:import<包名>.<类名>;也可以import <包名>.*;2.Java面向对象程序设计三大重要特征:(1)封装:将类的某些信息隐藏在类的内部,不允许外... 继续阅读 >
202110-12 Java初学之继承与多态 目录在程序中声明包的语法:Java继承语法格式:什么是重写呢?:多态应用:引用变量的强制类型转换instanceof运算符总结首先我们如果要使用Java中存在的包,可以程序中使用import语句导入包。包说通俗点就是一个文件夹,为了方便管理。在程序中声明包的语法:package<包名>注意:声明一个包的语句必须写在类中的第一行。在程序中导入包的格式:import<包名>.<类名>重点来了,继承!继承是面向对象程序设计的一个重要特征,它是... 继续阅读 >
202110-12 教你如何正确了解java三大特性!!!! 目录继承与多态一.包 二.继承 三:重载和重写3.1重载(Overload)3.2重写四:多态4.1多态的转型 4.2instanceof总结继承与多态本章讲解面向对象的三大特性:封装,继承,多态。一.包Java定义了一种名字空间,称之为包:package。一个类总是属于某个包,类名(比如Person)只是一个简写,真正的完整类名是 包名.类名。例如:apple类放在包banana里面完整类名是:banana.apple。自定义包的语法:packa... 继续阅读 >