![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
文章平均质量分 54
逆风前行的小强
记录一位初出茅庐的程序员的学习点滴,成功需要时间的沉淀,向前,向前,向前!!
展开
-
Linux 安装Redis 执行编译 make install报错: make: *** [server.o] Error 1
原因:目前Redis官网下载的版本为 6.0版本 make安装会报错是因为gcc版本过低。因此需要升级gcc,升级过程如下:yum -y install centos-release-scl yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils scl enable devtoolset-9 bash echo "source /opt/rh/devtoolset-9/enable" >原创 2020-10-26 11:34:34 · 1268 阅读 · 1 评论 -
Linux下如何修改jar包配置文件或者替换静态资源文件
在某些特殊情况下我们可能需要修改已经打包好的jar包里的配置或者替换图片文件等等,但是要修改jar包中的配置文件怎么办呢?简单三步 解压jar包,修改后重新打包jar1.解压unzip TCAT.jar1.1.移除jar包,最好先备份rm TCAT.jar2.修改你要改的配置或替换的文件3.重新打包jar -cfM0 TCAT.jar * (注意有空格)jar命令参数:-c 创建新的存档-f 指定存档文件名-M 不配置配置清单,这样还可以使用maven生成的配置清单也就是MAN原创 2020-10-16 11:51:01 · 2164 阅读 · 0 评论 -
instanceof 的使用
Java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。 用法: result = object instanceof class 参数: Result:布尔类型。 Object:必选项。任意对象表达式。 Class:必选项。任意已定义的对象类。 说明:原创 2017-05-12 09:02:55 · 255 阅读 · 0 评论 -
Java并发编程:如何创建线程?
本文的目录大纲: 一.Java中关于应用程序和进程相关的概念 二.Java中如何创建线程 三.Java中如何创建进程一.Java中关于应用程序和进程相关的概念 在Java中,一个应用程序对应着一个JVM实例(也有地方称为JVM进程),一般来说名字默认为java.exe或者javaw.exe(windows下可以通过任务管理器查看)。J转载 2017-10-12 11:18:33 · 237 阅读 · 0 评论 -
项目实战---国税协同办公平台---day01
SSH框架搭建及整合1、 新建数据库及web项目1.1 创建数据库CREATE DATABASE itcastTax DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;2、新建web项目2.1 新建工作空间指定项目编码(或工作空间编码)为utf-8,再建 web project, 2.2 配置buildpath2.3 引入tomcat 的包原创 2017-05-27 10:21:26 · 2703 阅读 · 0 评论 -
线程同步
线程同步 同步是多线程中的重要概念。同步的使用可以保证在多线程运行的环境中,程序不会产生设计之外的错误结果。同步的实现方式有两种,同步方法和同步块,这两种方式都要用到synchronized关键字。局部内部类中,若要引用从属的局部变量,那么这个变量必须是final的1、同步方法 多个线程并发读写同一个临界资源时会发生“线程并发安全问题” 常见的临界资源多线程共享实例变量多线程共享静态公共变原创 2017-03-30 08:46:19 · 245 阅读 · 0 评论 -
获取select被选中option的value和text
要获取select选中的value,或者text比如这个:<select id="select"> <option value="A" url="http://www.baidu.com">第一个option</option> <option value="B" url="http://www.qq原创 2018-06-22 16:12:37 · 427 阅读 · 0 评论 -
状态管理--Cookie
1、为什么需要状态管理在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。例如,用户A在超市购买的任何商品都应该放在A的购物车内,不论是用户A什么时间购买的,这都是属于同一个会话的,不能放入用户B或用户C的购物车内,这不属于同一个会话。而Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协原创 2017-04-25 00:46:49 · 306 阅读 · 0 评论 -
JSP开发常见问题
异常处理1、编程式的异常处理使用转发跳转到指定页面进行提示说明语法:try{.....}catch(Exception e){request.getRequestDispatcher(url) .forward(request,response);}2、容器中声明式处理step1:将异常抛给容器,但底层的错误提示不要返回给用户-注意:异常只允许抛service指定的异常,不能超出指定范围-使原创 2017-04-24 23:53:39 · 730 阅读 · 0 评论 -
容器对路径的处理
容器对路径的处理 1. 重定向 1、定义: 服务器向浏览器发发送一个302状态码及一个Location消息头。(该消息头的值是一个地址,称之为重定向地址),浏览器收到后会立即重定向地址发出请求。 2、3、如何重定向response.sendRedirect(String url) url:重定向的地址**4、重定向的特点重定向的地址是任意的地址。重定向之后,浏览器地址栏的地址会发生改变重原创 2017-04-18 00:38:33 · 853 阅读 · 0 评论 -
Restful Api 分析与实践
1、何为api?在说Restful Api 之前我们先来说说api?这个大家应该都知道,就是我们通常所说的接口,基于面向接口开发模式的使用,api也运用的非常广泛。 我们来分析一个需求,如果我想获取一个用户发的说说列表。QQ空间网站里面需要这个功能。 Andoid APP里面也需要这个功能。 iOS APP里面也需要这个功能。那么现在就有三套,那么按照传统的开发网站的结构,你就要写原创 2018-01-11 15:47:54 · 405 阅读 · 0 评论 -
JSP 转发
一、什么是转发 一个web组件(Servlet/jsp)将未完成的处理通过容器转发给另一个web组件继续完成。常见情况:一个Servlet获得数据之后(比如通过调用dao)将这些数据转发给一个JSP,由这个JSP来展现这些数据二、如何实现转发1、绑定数据到request对象实现绑定request。setAttribute(String name,Object obj)name:绑定名obj:原创 2017-04-22 00:52:22 · 611 阅读 · 0 评论 -
JSP编写规范
JSP编写规范1. JSP定义Sun公司制订的一种服务器端动态页面技术的组件规范。JSP是一个以“.jsp”为后缀的文件。在该文件中,主要是HTML和少量的Java代码。JSP文件会被容器转换成一个Servlet类。 2、如何编写JSP step1、写一个以“.jsp”为后缀的文件 step2、在该文件中,可以包含如下的内容:JSP页面中的HTML包括:HTML标记CSSJavaScr原创 2017-04-22 00:17:22 · 743 阅读 · 0 评论 -
HTTP协议
HTTP协议1. 什么是HTTP协议?HyperText Transfer Protocol由w3c制订的一种应用层协议,用来定义浏览器与web服务器之间如何通信以及通信的数据格式。2.如何通信数据格式HTTP请求包括三部分:请求行(Request Line) 请求行由请求方法(method),请求网址Request-URI和协议 (Protocol)构成头部(Headers) 包原创 2017-04-09 00:31:28 · 201 阅读 · 0 评论 -
Servlet基础
Servlet基础1.1 什么是Servlet?Servlet是sun公司制订的一种用于扩展web服务器功能的组件规范。1.2 如何写一个servlet?编写Servlet的步骤第1步 写一个java类servlet只能使用java语言来编写 实现Servlet接口或者继承HttpServlet抽象类第2步 编译第3步 打包建立一个如下的目录结构 – appname —– – WEB-INF原创 2017-04-06 23:30:54 · 222 阅读 · 0 评论 -
UDP通信
UDP通信 1. 构建接收包DatagramPacket: 1、构造接收包-DatagramPacket(byte[] buf,int length) 将数据包中的length长的数据装进buf的数组中 -DatagramPacket(byte[] buf,int offset,int length) 将数据包中从offset开始,length长的数据装进buf的数组中2、构建发送包-Dat原创 2017-04-01 21:29:48 · 264 阅读 · 0 评论 -
文件数据IO操作(一)
文件数据IO操作(一)Reader和WriterReader是字符输入流的父类Writer是字符输出的父类字符流失以字符(char)为单位读写数据,一次处理一个Unicode字符流的底层任然是基本的字节流1、使用Reader和Writer实现读写操作package day03;import java.io.FileNotFoundException;import java.io.File原创 2017-03-26 22:39:56 · 278 阅读 · 0 评论 -
多线程及TCP通信 实例之 聊天室
多线程及TCP通信 实例之 聊天室 使用Java的Socket实现客户端和服务端之间的连接,并使得客户端向服务端发送一条消息。 步骤:1、 创建客户端类/** * 客户端应用程序 * * @author Administrator * */public class Client { ....}2、 创建Socket对象// Socket 用于连接服务器的ServerSoc原创 2017-04-01 15:11:16 · 1142 阅读 · 0 评论 -
字符串基本操作
String及其常用的APIString是不可变对象,java.lang.String 使用了final修饰,不能被继承indexOf作用:实现在字符串中检索另外一个字符串int indexOf(String str) 在字符串中检索str,返回其第一次出现的位置,如果找不到则返回-1int indexOf(String str, int fromIndex)原创 2017-03-18 15:31:47 · 409 阅读 · 0 评论 -
String
substring1、public String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。示例: "unhappy".substring(2) returns "happy" "Harbison".substring(3) returns "bison" "e原创 2017-03-18 16:14:56 · 186 阅读 · 0 评论 -
StringBuilder
java.lang 类 StringBuilder在 StringBuilder 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符添加或插入到字符串生成器中。append 方法始终将这些字符添加到生成器的末端;而insert 方法则在指定的点添加字符。原创 2017-03-18 16:19:38 · 329 阅读 · 0 评论 -
文件操作--File
为了很方便的代表文件的概念,以及存储一些对于文件的基本操作,在java.io包中设计了一个专门的类——File类。 在File类中包含了大部分和文件操作的功能方法,该类的对象可以代表一个具体的文件或文件夹,所以以前曾有人建议将该类的类名修改成FilePath,因为该类也可以代表一个文件夹,更准确的说是可以代表一个文件路径。 下面介绍一下File类的基原创 2017-03-20 20:08:48 · 409 阅读 · 0 评论 -
RandomAccessFile 对文件的读写
Java的RandomAccessFile提供对文件的读写功能,与普通的输入输出流不一样的是RamdomAccessFile可以任意的访问文件的任何地方。这就是“Random”的意义所在。RandomAccessFile的对象包含一个记录指针,用于标识当前流的读写位置,这个位置可以向前移动,也可以向后移动。RandomAccessFile包含两个方法来操作文件记录指针。long getFilePo原创 2017-03-20 20:20:37 · 745 阅读 · 0 评论 -
异常处理
异常处理1.在应用程序遇到异常情况(如被零除情况或内存不足警告)时,就会产生异常。2.发生异常时,控制流立即跳转到关联的异常处理程序(如果存在)。3.如果给定异常没有异常处理程序,则程序将停止执行,并显示一条错误信息。4.可能导致异常的操作通过 try 关键字来执行。5.异常处理程序是在异常发生时执行的代码块。在 C# 中,catch 关键字用于定义异常处理程序。6.程序可以使用 throw 关键字原创 2017-03-27 23:46:26 · 414 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
通过数组实现对一组数据的写入package day01;import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile;/** * 批量写入一组字节 * @author Administrator * */ public class Random原创 2017-03-21 23:02:25 · 258 阅读 · 0 评论 -
多线程基础(一)
多线程基础(一)线程和进程的概念 进程是一块包含了某些资源的内存区域,操作系统利用进程把它的工作划分为 些功能单元。 线程进程中包含的一个或多个执行单元称之为线程。一个线程是进程的一个顺序执行流。同类的多个线程共享一块内存空间和一组系统资源,线程本身有一个工程序执行时的堆栈。进程和线程的区别 线程是指进程内的一个执行单元,也是进程内的可调度实体。 与进程的区别: (1)地址空间:进原创 2017-03-28 19:19:52 · 245 阅读 · 0 评论 -
多线程基础(二)
多线程基础(二)1、创建线程1)使用Thread创建并启动线程 - 通过继承Thread类并重写run方法来定义一个具体的线程。 run方法中定义线程要完成的任务。package day04;/** * 第一种创建线程的方法 * 继承Thread类,重写run方法 * run方法:定义线程要完成的任务 * @author Administrator *原创 2017-03-28 19:55:23 · 282 阅读 · 0 评论 -
基本IO操作(一)
基本IO操作(一)数据流: 一组有序,有起点和终点的字节的数据序列。包括输入流和输出流。2) 输入流(Input Stream): 程序从输入流读取数据源。数据源包括外界(键盘、文件、网络…),即是将数据源读入到程序的通信通道3) 输出流:程序向输出流写入数据。将程序中的数据输出到外界(显示器、打印机、文件、网络…)的通信通道。采用数据流的目的就是使得输出输入独立于设备。Input原创 2017-03-21 23:57:06 · 1741 阅读 · 0 评论 -
File—运用实例
File—运用实例递归(recursion):程序调用自身的编程技巧。递归满足2个条件:1)有反复执行的过程(调用自身)2)有跳出反复执行过程的条件(递归出口)1、删除给定的文件或目录 思路:判断是否是目录,不是目录直接删除如果是目录取出所有的子项删除所有子项package day01;import java.io.File;import java.io.FileNotFoundExc原创 2017-03-21 23:29:36 · 418 阅读 · 0 评论 -
IO之缓冲流
IO之缓冲流1.Bos基本工作原理 BufferedOutputStream 缓冲输出流内部维护着一个缓冲区,每当我们向该流写数据时,都会将数据写入缓冲区,当缓冲区已满时,缓冲流会将数据一次性全部写出。 2. BIS基本工作原理 BufferdInputStream是缓冲字节输入流,其内部维护着一个缓冲区(字节数组),使用该流在读取一个字节时,该流会尽可能多的一次性读取若干字节存入原创 2017-03-23 00:05:11 · 274 阅读 · 0 评论 -
迭代器使用
迭代器使用通常情况下,希望遍历一个集合中的元素。例如,显示集合中的每个元素。一般遍历数组都是采用for循环或者增强for,这两个方法也可以用在集合框架,但是还有一种方法是采用迭代器遍历集合框架,它是一个对象,实现了Iterator 接口或ListIterator接口。迭代器,使你能够通过循环来得到或删除集合的元素。ListIterator 继承了Iterator,以允许双向遍历列表和修改元素。 序原创 2017-03-23 09:45:50 · 362 阅读 · 0 评论 -
集合框架
集合框架被设计成要满足以下几个目标。1、该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。2、该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。3、对一个集合的扩展和适应必须是简单的。为此,整个集合框架就围绕一组标准接口而设计。你可以直接使用这些接口的标准实现,诸如: LinkedList, HashSet, 和 TreeSet等,除此之外你也可以原创 2017-03-23 09:53:03 · 391 阅读 · 0 评论 -
TCP通信
TCP通信JAVA中设计网络编程模式的主要有TCP和UDP两种。TCP是属于即时通信,点对点连接进行通信。UDP是通过数据包来进行通信,UDP当中就会牵扯到数据的解析和传送。在安全性能方面,TCP要略胜一筹,通信过程中不容易出现数据丢失的现象,有一方中断,两方的通信就会结束,UDP数据包传送的过程当中,一方中断,数据包有很大的可能丢失,还有可能传来的数据包的顺序是错乱的;TCP编程原创 2017-03-30 23:34:21 · 356 阅读 · 0 评论 -
API文档
API 中包含:字符串 集合 文件 输入和输出 网络操作 多线程注释:用于说明作者,时间,版本等信息。/** 开始*/结束/** * * @author Administrator * */javadoc 命令生成文档原创 2017-03-18 15:28:46 · 248 阅读 · 0 评论