JAVA
z_xindong
这个作者很懒,什么都没留下…
展开
-
网络编程---NIO基本案例
一、首先要知道NIO的三大组件以及他们之间的关系:Selector 、 Channel 和 Buffer 的关系图关系图的说明:1.每个channel 都会对应一个Buffer2.Selector 对应一个线程, 一个线程对应多个channel(连接)3.该图反应了有三个channel 注册到 该selector //程序程序切换到哪个channel 是由事件决定的, Event 就...原创 2019-11-26 19:23:38 · 323 阅读 · 0 评论 -
Java 网络编程之BIO编程
欢迎访问我的个人博客:L_SKH’Blog概述:BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序简单易理解。Java BIO 就是传统的java io 编程,其相关的类和接口在 java.io BIO(blocking I/O) : 同步阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端...原创 2019-11-22 10:10:19 · 317 阅读 · 0 评论 -
Java常用六种线程池
欢迎大家访问我的个人博客:L_SKH’Blog一、FixedThreadPool固定数量线程池package org.skh.c026;import java.util.concurrent.Executor;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;impor...原创 2019-11-19 15:49:03 · 266 阅读 · 0 评论 -
Java函数式编程之Consumer和Predicate
欢迎大家访问我的个人博客:http://47.103.221.24(还没备案好,没有域名)一、Consumer我们先来看它的源码:(我们只来看他第一个方法)它是一个可以传参的接口,拥有一个accept方法。@FunctionalInterfacepublic interface Consumer<T> { /** * Performs this operat...原创 2019-11-16 19:51:47 · 595 阅读 · 0 评论 -
Java8新特性-Lambda表达式基础
简介Lambda表达式(也称闭包),是Java8发布的新特性中最受期待和欢迎的新特性之一。在Java语法层面Lambda表达式允许函数作为一个方法的参数(函数作为参数传递到方法中),或者把代码看成数据。Lambda表达式用于简化Java中接口式的匿名内部类,被称为函数式接口的概念。函数式接口就是一个只具有一个抽象方法的普通接口,像这样的接口就可以使用Lambda表达式来简化代码的编写。语法(...原创 2019-11-09 12:00:50 · 198 阅读 · 0 评论 -
浅谈JDBC与ODBC
在学习J2EE的JDBC过程中,刚见到JDBC就马上联想到了ODBC,而且我们可以肯定他们之间有必然的关系。开始学它的时候还是觉得有点晕,于是就查了很多资料,与比较熟悉的ODBC进行了比较。先各自简单介绍一下ODBC和JDBC。 ODBC(Open Database Connectivity)是一组对数据库访问的标准API,这些API通过SQL来完成大部分任务,而且它本身也...转载 2019-02-03 16:18:14 · 658 阅读 · 0 评论 -
Java之简易的UDP编程
UDP:一、特点:1)、以数据为中心2)、非面向连接 不安全 数据可能会丢失3)、效率高二:用得到的类:DatagramSocket DatagramPacket三、组成1、客户端:1)创建客户端 即DatagramSocket类 + 指定端口2)准备数据3)打包数据以字节的形式 DatagramPacket+服务器的地址以及端口4)发送5)释放...原创 2018-12-17 22:32:35 · 212 阅读 · 1 评论 -
Java之基础TCP编程
TCP: (Socket 通信)一、特点:1)面向连接2)安全 可靠3)效率低 二、步骤:1)、建立服务器 ServerSocket2)、建立客户端 Socket面向连接 请求-响应 Request-Response三、1)、首先是建立自己的一个服务器,通过ServerSocket类来实现,需指定端口,建议1024以下的端口不要使用。我这里通过一个死循环实现...原创 2018-12-18 20:19:45 · 133 阅读 · 0 评论 -
通过Java中的URL类进行简单的网络资源的爬取
一、先说一下URL类的构造方法可以通过两种路径,1)绝对经构建,2)相对路径构建。我这里用绝对路径来进行构建:加入构造方法的字符串的各部分的含义直接用代码体现了。package cn.skh.url01;import java.net.MalformedURLException;import java.net.URL;public class TestUrl { public s...原创 2018-12-17 20:21:44 · 639 阅读 · 0 评论 -
Java中InetAddress与InetSocketAddress的基本用法
一、InetAddress:类的主要作用是封装IP及DNS,因为这个类没有构造器,所以我们要用他的一些方法来获得对象常用的有1、使用getLocalHost方法为InetAddress创建对象;2、根据域名得到InetAddress对象3、根据ip得到InetAddress对象实现代码:这里以我的主机和百度的域名进行了测试。输出package cn.skh.net;impo...原创 2018-12-17 16:34:20 · 33194 阅读 · 4 评论 -
Java多线程经典问题之生产者消费者模式
1.线程共享的类:package cn.skh.producter;/** * 一个场景 共同的资源 * 生产者消费者模式 信号灯法 * @author SKH&L * */public class Movie { private String str; private boolean flag=true; //信号灯 //true 生产者生产;...原创 2018-12-16 18:36:15 · 358 阅读 · 0 评论 -
Java中HashMap实现1对N
我们都知道在Java中的HashMap默认的是1对1,但其实可以处理一下让他适合1对来存储数据,其实也就是对键值对中得值的数据进行及时的更新.我们实现这一操作作用到了分拣存储; 那么什么是分拣存储呢?你可以这样理解,和快递员分捡快递来类比,快递的目的地有很多,比如有北京上海山东等等,比如一开始我拿到了一个发往山东的包裹,那么快递员就要看看是否已...原创 2018-12-16 15:08:33 · 273 阅读 · 0 评论 -
解决import sun包时error
转载自:https://www.cnblogs.com/wxflovedxd/p/3657227.html错误情景:import sun.net.dns.ResolverConfiguration;import sun.net.util.IPAddressUtil;编译器提示Error解决方案:如果你用的是Eclipse 在Windows-> ...转载 2018-12-10 15:59:49 · 1732 阅读 · 0 评论 -
JavaJDBC编程中PreparedStatement的用法
PreparedStatement的用法一个PreparedStatement是从java.sql.connection对象和所提供的sql字符串得到的,sql字符串中包含问号(?),这些问号标明变量的位置,然后提供变量的值,最后执行语句,例如:String sql = "select id,name from student where id=? andname=?";Prepared...转载 2018-12-15 17:37:24 · 964 阅读 · 0 评论 -
Java中各种读写文件的方法
转载自:https://blog.csdn.net/gx17864373822/article/details/799926791、使用Scanner类解析文件。(1)准备文件test.txt内容,内含字符、数字等文本信息;(2)使用Scanner类读取里面的字符信息和数字信息分别输出。import java.io.*;import java.util.*;public c...原创 2018-12-14 15:37:21 · 4164 阅读 · 0 评论 -
Eclipse常用快捷键大全
Eclipse常用快捷键1几个最重要的快捷键代码助手:Ctrl+Space(简体中文操作系统是Alt+/)快速修正:Ctrl+1单词补全:Alt+/打开外部Java文档:Shift+F2显示搜索对话框:Ctrl+H快速Outline:Ctrl+O打开资源:Ctrl+Shift+R打开类型:Ctrl+Shift+T显示重构菜单:Alt+Shift+T上一个/下一个光标的位...转载 2019-01-18 16:46:56 · 164 阅读 · 0 评论 -
Java自定义异常类
首先要知道Java中的异常都是出现在方法的调用过程中,即在方法的调用过程中抛出异常对象。另外try-catch语句中catch语句中的参数都是Exception的子类对象,所以你自定义的异常类必须要继承Exception类,另外还需要区别好throws与throw这两个关键字的和这两个关键字的作用。在这里我设计了一个异常类IntegerLimtError该异常类的作用是当输入一...原创 2019-01-18 18:16:02 · 183 阅读 · 0 评论 -
Java匿名类
我个人理解匿名类其实就是创建一个对象的行为,只不过这里没有类的声明只是通过类体来进行创建,创建的对象为该类体的子类的对象,也可以继承重写父类的方法。通过下面的代码来直观的展示一下:import java.text.SimpleDateFormat;import java.util.Date;import java.util.*;import java.lang.*;clas...原创 2019-01-18 18:29:22 · 147 阅读 · 0 评论 -
Scala函数
一、函数的定义:def sum(num:Int):Int = { num + 1 }我们类比一下变量的定义,变量有类型和变量名。比如 var str:String = "func" ;str为变量名,String为他的类型,"func"为他得值。类比到函数上就是这样:sum为函数名,Int => Int 就为函数的类型,(num:Int) => ...原创 2019-07-26 19:30:34 · 423 阅读 · 0 评论 -
Java反射操作
因为要开始学习Java框架,所以特地简单的学习了一下Java的反射,只是一些基础的使用并没有涉及比较深层次的东西,比较适合小白.....一.先进行准备工作:在这里我定义了2个接口:MyInterface MyInterface21个实体类: Person由实体类继承了两个接口;两个接口:package cn.skh.reflect;public interface M...原创 2019-05-08 21:25:52 · 172 阅读 · 0 评论 -
使用QueryRunner查询数据应注意的问题
今天学习了一下通过连接池来操作数据库,用到了其中的apache的DBUtils类的核心类QueryRunner,在对数据库进行修改,增加,删除操作时没有问题的出现,就在查询是出现了一些问题,不管是查询单条数据还是查询所有数据,都会不成功会报以下错误:tips:我这里的实体类为SKHjava.sql.SQLException: Cannot create cn.skh.entity.SKH: ...原创 2019-04-29 20:42:39 · 2928 阅读 · 5 评论 -
Maven的用途
我记得在搞懂maven之前看了几次重复的maven的教学视频。不知道是自己悟性太低还是怎么滴,就是搞不清楚,现在弄清楚了,基本上入门了。写该篇博文,就是为了帮助那些和我一样对于maven迷迷糊糊的人。有福了,看完基本上你就会发现原来这么简单。参考博文:通俗理解maven该篇文章篇幅很长,大概的思路如下:maven的介绍,初步认识,获取jar包的三个关键属性 --> 介绍仓库(...转载 2019-04-27 09:39:46 · 182 阅读 · 0 评论 -
Java数据类型转换规则
欢迎大家访问我的个人博客:http://rushskh.club/一、数据类型分类:主要分为 基本类型、引用类型两大类;二、基本类型 转换原则1、类型转换主要在在赋值、方法调用、算术运算三种情况下发生。 a、赋值和方法调用 转换规则:从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换: (1)布尔型和其它基本数据类型之间不能相互转换; (2...转载 2019-03-30 16:39:40 · 2194 阅读 · 0 评论 -
TreeSet集合的排序
一、使用Comparator比较器:import java.util.Collection;import java.util.Comparator;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Map;import java.util.Sca...原创 2019-03-16 20:41:33 · 287 阅读 · 0 评论 -
浅谈Java虚拟机内存
Java虚拟机的内存可以分为三个区域:栈stack、堆heap、方法区method area。一、栈的特点如下: 1. 栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等) 2. JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等) 3. 栈属于线程私有,不能实现线程间的共享! 4. 栈的存储特性...原创 2019-02-13 11:54:52 · 217 阅读 · 0 评论 -
String类和常量池
1. 全局字符串常量池(String Pool) 全局字符串常量池中存放的内容是在类加载完成后存到String Pool中的,在每个VM中只有一份,存放的是字符串常量的引用值(在堆中生成字符串对象实例)。2. class文件常量池(Class Constant Pool) class常量池是在编译的时候每个class都有的,在编译阶段,存放的是常量(文本字符串、fi...转载 2019-02-15 13:31:29 · 177 阅读 · 0 评论 -
Java内部类
在Java中内部类主要分为成员内部类(非静态内部类、静态内部类)、匿名内部类、局部内部类。成员内部类(可以使用private、default、protected、public任意进行修饰。 类文件:外部类$内部类.class)非静态内部类(外部类里使用非静态内部类和平时使用其他类没什么不同) i. 非静态内部类必须寄存在一个外部类对象里。因此,如果有一个非静态内部类对象那么一...原创 2019-02-15 13:10:49 · 126 阅读 · 0 评论 -
JTable控件的表头和数据居中代码
标题居中 DefaultTableCellHeaderRenderer hr = new DefaultTableCellHeaderRenderer(); hr.setHorizontalAlignment(JLabel.CENTER); tbl_account.getTableHeader().setDef...原创 2019-01-09 08:33:51 · 628 阅读 · 0 评论 -
利用Java对数据库进行一些操作
1首先要加载一个第三方java库: 可自行百度下载配置;2首先在数据库中创建一个表:(我创建的表字段如下) 表的创建create table student( id int primary key, name varchar(40), age int );3 通过java进行操作:package sdut;import java.sql.Connecti...原创 2018-12-04 10:33:45 · 390 阅读 · 0 评论 -
MySQL常用sql语句
转载自:https://blog.csdn.net/qq_36539304/article/details/708610671、使用sql对数据库操作连接数据库命令: mysql -u root -p密码创建数据库:create database dbname;查看所有的数据库:show databases;删除数据库: drop database dbname;切换数据库...原创 2018-12-01 15:48:51 · 250 阅读 · 0 评论 -
Java字符串分割函数split
Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项: 1.split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 基本格式 :stringObj.split([separator,[limit]]) (1)stringObj 必选项。要被分解的对象即你想要进行操作的字符串,该对象...原创 2018-09-13 14:53:16 · 11458 阅读 · 0 评论 -
Java sort函数调用方法
其实与c++Stl库中的sort函数没有太大区别。主要还是这个:Arrays.sort(数组名,起始下标,终止下标);这样会对一组数据进行升序排列;eg:import java.util.*;public class Main { public static void main(String[] args) { Scanner cin=new Scanner(Syst...原创 2018-09-07 13:33:26 · 817 阅读 · 0 评论 -
Java 字符串类型数据的一些处理
一、 输入:(这里就直接最通用的吧)import java.util.*; public class Main{ public static void main(String args[]){ Scanner cin=new Scanner(System.in); ///第一种 String s; s=cin.nextLine();///读到回车停止读入; s=c...原创 2018-09-10 20:23:29 · 250 阅读 · 0 评论 -
LCM的个数
Problem Description对于我们来说求两个数的LCM(最小公倍数)是很容易的事,现在我遇到了一个问题需要大家帮助我来解决这问题,问题是:给你一个数n,然后统计有多少对(a<=b) LCM(a,b)=n;例如LCM(a,b)=12; 即(1,12),(2,12),(3,12),(4,12),(6,12),(12,12),(3,4),(4,6);Input输入数组有多组...转载 2018-09-16 14:14:03 · 283 阅读 · 0 评论 -
2272 Time
Problem DescriptionDigital clock use 4 digits to express time, each digit is described by 3*3 characters (including”|”,”_”and” “).now given the current time, please tell us how can it be expressed b...原创 2018-09-16 13:37:40 · 345 阅读 · 0 评论 -
sdut 2585 机器人II
tips:要注意的地方就是吸收换行符吧,代码就顺着题目意思来就是了..... import java.util.*;public class Main{ public static void main(String[] args) { Scanner cin = new Scanner(System.in); int n,x,y,flag,i; ...原创 2018-09-16 13:01:54 · 133 阅读 · 0 评论 -
SDUT 2557分段函数Java实现
Problem Description函数是一种特殊的映射,即数集到数集的映射。对于给定的每个自变量都能给出一个确定的值,这是一件多么牛的事情呀。其实不是函数牛,而是因为它具有这种性质我们的数学家才这么定义了它。函数有很多类型,虽然本质都是映射,但为了方便研究和应用,数学家们做了很多分类。比如线性函数,非线性函数,随机函数,还有一些具有特殊性质的函数等等。今天我们要关注的是分段函数,所谓分...原创 2018-09-15 21:51:19 · 1546 阅读 · 0 评论 -
java数学函数Math类中常用的方法
Math类提供了常用的一些数学函数,如:三角函数、对数、指数等。一个数学公式如果想用代码表示,则可以将其拆分然后套用Math类下的方法即可。转载自:点击这里 Math.abs(12.3); //12.3 返回这个数的绝对值 Math.abs(-12.3); //12.3 Math.copySign(1.23, -12.3); //-1.23,返回第一...转载 2018-09-06 09:03:59 · 1368 阅读 · 1 评论 -
Java中控制输出小数位数
import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Sc...转载 2018-09-05 18:49:46 · 30232 阅读 · 1 评论 -
Java 之整除
import java.util.Scanner;public class Main{ public static void main(String args[]) { Scanner cin = new Scanner(System.in); int n,sum,i; while(cin.hasNext()) { n=cin.nextInt(); sum =...原创 2018-09-04 21:38:23 · 7519 阅读 · 0 评论