Java基础
文章平均质量分 89
坐看云起时_雨宣
这个作者很懒,什么都没留下…
展开
-
IDEA的debug调试功能
Idea的debug调试可以说是非常强大,只有你想不到,没有它做不到。Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。一般我们常用于程序排错或者源码追踪。先从一个简单的例子开始可以看到我们的代码很简单,就是从1加到100,这个时候如果我们要看到sum的变化的,可以在第九行打个断点来看。程序启动一定要以debug来启动,如果选择第一个,打的断点讲不会起作用哦。运行程序,我们发现程序走到这个地方就.原创 2021-09-04 16:56:28 · 807 阅读 · 6 评论 -
JAVASE(基础)基于网络的文件传输项目综合练习
大家好,我是雨宣,时隔多日,又和大家见面了。近期又很多人私信我,大多数都是刚学完JAVASE的小白或者是想回顾JAVASE阶段的白小白,苦于找不到合适的练习题,很多教程后面会有少量的练习题,但是综合度不高,针对性一般,大多数人做完了我之前写的一个JAVASE项目综合演练后,觉得还是不够,还想来个在有难度的练习题。这段时间忙中抽闲,结合企业中实际的业务场景以及JAVASE自身的知识点,给大家带来了一个基于网络,IO以及其他基础知识点的综合练习项目。这个项目主要考察大家对IO流,InputStre...原创 2021-08-29 12:35:02 · 265 阅读 · 0 评论 -
Java中byte与汉字的关系
字节是二进制数据的单位。一个字节通常8位长。但是,一些老型号计算机结构使用不同的长度。为了避免混乱,在大多数国际文献中,使用词代替byte。在多数的计算机系统中,一个字节是一个8位长的数据单位,大多数的计算机用一个字节表示一个字符、数字或其他字符。一个字节也可以表示一系列二进制位。在一些计算机系统中,4 个字节代表一个字,这是计算机在执行指令时能够有效处理数据的单位。一些语言描述需要2个字节表示一...原创 2020-01-10 11:06:25 · 1909 阅读 · 1 评论 -
Java NIO基于控制台的多人聊天室
闲来无事写了个基于NIO的聊天室项目,费话不说了,直接贴代码吧。Server端代码如下:package com.xz.helloworld.nettyt.nio.im;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.ch...原创 2019-11-28 16:59:14 · 240 阅读 · 0 评论 -
Java中的管道流 PipedOutputStream和PipedInputStream
我们在学习IO流的时候可能会学字节流、字符流等,但是关于管道流的相信大部分视频或者教程都是一语带过,第一个是因为这个东西在实际开发中用的也不是很多,但是学习无止境,存在既有理。JDK中既然有个类那说明他并不是一无是处,只是我们目前还没有场景用到它,那说明我们说的还不够,知识点还不足以去驾驭它。管道流其实是一个很有魅力的流,用法也很独特。他用来连接两个线程之间的通信,比如传输文件等。它们的作...原创 2019-05-14 15:22:26 · 12776 阅读 · 0 评论 -
Java初学者如何排查学习中遇到的问题
大多数新手或者刚入门的人在学习的时候,不管是看视频还是看书,都会遇到各种各样的问题,比如JDK配置了,但是javac没有办法执行,Eclipse安装了,但是打不开,快捷键用不了,照着视频敲了但是和视频上结果不一样等等。下面我们就来分析遇到各种问题的排查方法。JDK配置了但是敲javac或者java命令没有反应,大多数是敲javac命令出不来其实JDK很好配置,第一个是配置好JAVA_H...原创 2019-05-11 10:30:42 · 8200 阅读 · 0 评论 -
Java中的锁机制,你真的了解吗?
学到锁说明你已经学过多线程了,只有在多线程并发的情况下才会涉及到锁,相信大家用的最多的要数synchronized了,因为这个也是最简单的,直接加在方法上就可以使一个方法同步。那么除了synchronized之外,还有没有其他的锁呢,这个还真有。我们来看看:这个是Java里边锁相关的一些类,顶级接口有三个,Lock Condition ReadWriteLock我们来看Lock接...原创 2019-05-17 13:37:26 · 6958 阅读 · 0 评论 -
Java中的抽象类详解,它存在的意义在哪里?
学习抽象类前先理解下面这段话:问你个问题,你知道什么是“东西”吗?什么是“物体”吗? “麻烦你,小王。帮我把那个东西拿过来好吗” 在生活中,你肯定用过这个词--东西。 小王:“你要让我帮你拿那个水杯吗?” 你要的是水杯类的对象。而东西是水杯的父类。通常东西类没有实例对象,但我们有时需要东西的引用指向它的子类实例。 你看你的房间乱成什么样子了,以后不要把东西乱放了,知道么? 又是...转载 2019-06-03 14:54:23 · 1762 阅读 · 0 评论 -
Java扫雷游戏寻找类的数量核心算法篇
今天突然间看到了扫雷游戏,想着自己实现一个,网上找了很多,大多数的用的是二维数组,今天我给大家用一维数组也就是集合来实现二维数组的功能,这篇主要写的是扫雷核心算法篇,寻找周围类的数量,不是一个完整的哦。package com.xz.sl;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;impor...原创 2019-07-25 10:03:38 · 786 阅读 · 1 评论 -
Java扫雷游戏源码
package com.xz.sl;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.GridLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java....原创 2019-07-25 10:14:12 · 2513 阅读 · 0 评论 -
Java解析简单的四则混合运算(不包含括号)
很多人都会编写一些小程序之类的,比如说计算器,涉及到计算器那么就要说说运算的优先级了,比如先算乘除法,后算加减法,如果有括号,先说括号里边的,这些都是小学数学了,今天分享一篇Java解析运算的代码。import java.util.List;import java.util.stream.Collectors;import java.util.stream.Stream;public...原创 2019-07-27 10:35:05 · 1121 阅读 · 1 评论 -
Nio入门实现简单的服务端和客户端通信
Java.nio全称java non-blocking IO,是指jdk1.4 及以上版本里提供的新api(New IO) ,为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络。目前很多通信都是基于Nio来实现。下面分享一个入门的案例。服务端的代码如下:import java.io.IOException;import java.ne...原创 2019-07-27 17:33:45 · 247 阅读 · 0 评论 -
Java Socket编程 深入讲解?你之前真的学懂了吗
很多人学习Socket往往会碰到这样哪样的问题,可以看看下面,加深理解。能看懂多少看懂多少。 Socket是Java网络编程的基础,了解还是有好处的,这篇文章主要讲解Socket的基础编程。Socket用在哪呢,主要用在进程间,网络间通信。本篇比较长,看完后会对你受益匪浅。一、Socket通信基本示例这种模式是基础,必须掌握,后期对Socket的优化都是在这个基础上的,也是为以...转载 2019-04-29 19:51:19 · 8419 阅读 · 0 评论 -
Java基础编程练习题
很多人在自学java的时候看一遍视频,感觉就会了,课后并没有大量的练习来巩固当前所学的知识点,今天给大家整理了一些非常具有代表意义的题。Java基础类型题1、反转一个只有3位数的整数。从控制台输入321,输出1232、将一个字符由小写字母转换为大写字母。从控制台输入 a ,输出A3、从控制台输入一个字符串,由字母组成,转换成大写后输出。如果输入的是小写,就转换成大写。...原创 2019-04-29 16:13:17 · 40587 阅读 · 16 评论 -
Java中从控制台输入的三种方式
我们最熟悉的从控制台读取一个字符或者一个字符串都知道用Scanner,那么除了Scanner还有没有其他的呢,答案是有的,我们来看看。System.in.read()System.in.read()返回一个整型字节数据,该数据表示的是字节因此是Unicode的第一个字节或是字符的ASCII码值。该方法是从一个流中一个一个的读取数据,因此是一个迭代的过程。我们可以看出in是一个静态的流...原创 2019-03-16 11:39:30 · 8461 阅读 · 0 评论 -
Java 中数组的遍历方式
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java 语言中提供的数组是用来存储固定大小的同类型元素。今天我们就来说一下在java中遍历数组都有哪几种方式:假如有下面数组arryInteger[] arry= {1,2,3,4,5,6,7};针对以上数组进行遍历,在java中我们常用到的就是for循环1、这种方法简单粗暴易使用...原创 2019-03-12 10:11:36 · 9149 阅读 · 3 评论 -
Java一维数组二维数组详解API
所谓数组,是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。数组是用于储存多个相同类型数据的集合,数组有一维数组,二维数...原创 2019-03-12 12:24:06 · 8456 阅读 · 1 评论 -
Java常用的数组排序算法(面试宝典)
这段时间有些忙,今天空闲出来给大家分享下Java中常用的数组排序算,有冒泡排序、快速排序、选择排序、插入排序、希尔算法、并归排序算法、堆排序算法,以上排序算法中,前面几种相对后面的比较容易理解一些。下面为大家一一介绍,写的不好,大佬绕过。1、冒泡排序冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行...原创 2019-03-12 13:36:04 · 8171 阅读 · 0 评论 -
Java数组去重(利用数组,不借助集合)
今天有个同学问我说老师,Java里边数组怎么去重,在不借助List集合的情况下,最后呢我整理了一下,打算发一篇博文,希望能帮助到有用的人,大佬绕过public static void arrUniq() { Integer[] arr = {1,1,2,3}; Integer[] tmp = new Integer[arr.length]; int m = 0; for(int i=...原创 2019-03-13 10:55:47 · 13163 阅读 · 11 评论 -
Java里边什么是值传递和引用传递?两个有什么区别
学过java基础的人都知道,在java中参数的传递过程中有值传递和应用传递,那么这两个到底有什么区别呢,下面我通过例子为大家详细的介绍下。我们都知道Java中有八种数据类型,基础数据类型分别是:byte,short,int,long,float,double,char,boolean,引用数据类型分别是:数组,类和接口。方法传参的时候我们有两种,一种是形式参数(定义方法时写的参数),一种是实际...原创 2019-03-18 14:38:45 · 8237 阅读 · 0 评论 -
Java命名规范(新手宝典)
很多刚开始学习Java的童鞋都不知道如何命名类文件,方法名,字段名,常量名等,今天抽出时间整理了了一下。大佬绕过Java命名的组成规则:英文大小写字母,数字,$和_.这里有几点需要注意:不能以数组开头 不能是Java中的关键字 区分大小写 包的命名全部必须是小写 如果是单级包则全部用小写,如果是多级包则用逗号隔开,例如(com.baidu.api.service.config)...原创 2019-03-13 15:11:36 · 8569 阅读 · 0 评论 -
Java统计一个字符串中各个字符出现的次数
相信很多人在工作的时候都会遇到这样一个,如何统计一个字符串中各个字符出现的次数呢,这种需求一把用在数据分析方面,比如根据特定的条件去查找某个字符出现的次数。那么如何实现呢,其实也很简单,下面我贴上代码:public static void main(String[] args) { List<String> strs = new ArrayList<>...原创 2019-04-01 15:49:17 · 9690 阅读 · 0 评论 -
JavaSE综合项目演练
光阴似箭日月如梭,大家学习已经有了一段时间了,转眼间,从刚开始如何配置JDK已经到了现在快学完网络编程了。学了这么多,眼看就要进入下一个阶段了,数据库编程了,那么在进入下个阶段前,我们来完成一个综合性比较强的结业项目,告别JavaSE阶段,学完JavaSE,大家已经对编程这块相信已经有了一个很深的理解,但是仅仅是JavaSE还是不够的,我们还需要学习更多的,更全面知识才足以在接下来的生活中过五关斩...原创 2019-04-26 17:06:45 · 13680 阅读 · 7 评论 -
Java基础学习经验分享
很多人学习Java,尤其是自学的人,在学习的过程中会遇到各种各样的问题以及难点,有时候卡在一个点上可能需要很长时间,因为你在自学的过程中不知道如何去掌握和灵活运用以及该注意的点。下面我整理了新手学习可能会出现的问题。Java8在线API参考文档:https://docs.oracle.com/javase/8/docs/api/从配置JDK开始很多人在这块通过会遇到一些问题,照着视...原创 2019-04-27 12:02:35 · 10563 阅读 · 5 评论 -
Java注解Annotation的用法 - 自定义Annotation实现
Java注解又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊语法元数据。Java语言中的类、方法、变量、参数和包等都可以被标注。和Javadoc不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java虚拟机可以保留标注内容,在运行时可以获取到标注内容。 当然它也支持自定义Java标注。Java 平台有许多特别的注解,例如tra...原创 2019-04-24 14:27:43 · 8285 阅读 · 0 评论 -
BigInteger、BigDecimal类的使用详解
我们都知道在java里边long算是存储长度比较大的了,但是如果有很大的数我们应该怎么处理呢,不用怕,java还为我们准备了一个BigInteger的类,那么这个类到底能存储多大的数呢,这个一时还真不好想,要取决于你计算机的内存大小,意味着我们的内存越大,这个类存储的位数就越大。接下来我们来看看BigInteger这个类。BigInteger继承了Number类并且实现了Serializabl...原创 2019-03-16 11:06:07 · 8615 阅读 · 0 评论