
Java
你上你也行
JavaWeb+前端+Web安全
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java常用日期操作
1.Date: @Test public void testOne(){ Date date=new Date(System.currentTimeMillis()); //获得毫秒值 System.out.println(date.getTime()); //2021-9-3 11:07:32 System.out.println(date.toLocaleString()); }2.sql包下的几个日原创 2021-09-03 14:02:32 · 546 阅读 · 0 评论 -
Redis工具类-SpringBoot
1.maven <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency>2.创建redis配置类:springboot-.properties文件:#redisredis.host=127.0.0.1redis.port=6379re原创 2021-06-10 20:38:50 · 104 阅读 · 0 评论 -
进程死锁和预防、避免死锁(从操作系统角度)
1.进程(线程)死锁:是用来描述进程之间相互等待的状态。具体解释:如果两个或两个以上进程(线程)中,每一个进程(线程)都在等待获得由其它进程(线程)把持的某种系统资源,导致这批进程(线程)间相互永久等待的情况,称为死锁。2.互斥和同步的概念:1.互斥:一个公共资源在同一时刻只能被一个进程或线程使用,多个进程或线程不能同时用公共资源。2.同步:两个或两个以上的线程或进程必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。比如:A任务的运行依赖于B任务产生的数据,那么B任务就必须原创 2021-06-03 21:10:41 · 718 阅读 · 1 评论 -
Java线程的问题
一。线程安全:1.线程不安全的问题:1.1.线程不安全是因为线程共享进程的资源,所以多线程的操作会让共享资源不同步。从而存在安全问题1.2.解决的话,让线程同一时刻只能有一个线程去操作共享资源,这时候就用到了锁的机制。2。锁:2.1 隐式锁,又称为线程同步锁,用synchroized关键词来进行修饰。锁的效率:2.2显示锁,Lock,它是一个接口,定义锁的基本操作和方法。ReentrantLock实现了Lock接口。...原创 2021-06-03 16:43:16 · 188 阅读 · 0 评论 -
Java并发
1.最大程度的压榨CPU,让CPU最大程度的能看起来同时运行多个线程。原创 2021-06-03 15:55:52 · 66 阅读 · 0 评论 -
Java字符
1.Java字符表示的是单个字符,用’ '来表示2.要将一个浮点数转换成char型时,首先将浮点数转换成int型,在将int型转换成char型。其中浮点数的整形代表的就是char型的Unicode的十进制编码值。3.当char型转换成数值类型时,这个字符的Unicode十进制编码值就转换成对应的数值。...原创 2021-05-30 21:59:15 · 576 阅读 · 0 评论 -
Java-同步计时器CyclicBarrier
1.CyclicBarrier是一个同步辅助类,跟CountLatch类似,不过CountLatch是为了让一个主线程陷入阻塞,而CyclicBarrier是为了让当中的N个线程陷入阻塞.2.介绍:CyclicBarrier:3.使用场景:比如对一个大文件,进行分布字节传输时,只有全部线程传输完对应的字节,那么此次传输才算完成,否则要是有一个线程没有传输完对应的字节,那么其它传输完的线程机会陷入阻塞状态。4.实例:文件传输类:import java.util.concurrent.Broken原创 2021-04-08 16:54:47 · 268 阅读 · 0 评论 -
Java同步计数器-Semaphore
1.Semaphore的作用:作用就相当于保安,只能允许固定几个线程进去,一旦线程获得许可达到最大值,那么其它线程就只能陷入等待之中2.服务场景:3.实例:import java.util.concurrent.Semaphore;import java.util.concurrent.TimeUnit;public class SemaphoreTest { public static void main(String[] args) { //只允许有3个容量原创 2021-04-08 16:02:22 · 218 阅读 · 0 评论 -
Java多线程-延时队列(DelayQueue)
1.延时队列DealyQueue中要添加的元素必须实现Dealyed接口,并且是重写Dealayed中的getDelay()和compareTo()方法.2.compareTo()方法的使用可以见我之前的文章,而getDelay方法,如果此方法返回的值小0或者等于0,则消费者线程会从队列中取出此元素,并进行处理。如果getDelay方法返回的值大于0,则消费者线程会wait等待到getDelay方法的值小于0或等于0,再从队列头部取出元素,此时元素应该已经到期。3.元素Student:import j原创 2021-04-07 22:33:28 · 1388 阅读 · 1 评论 -
Java-StringBuffer和StringBuilder的使用
1.在编写Java代码的过程中有时要频繁的对字符串进行修改,如果用+进行拼接,那么会建立很多的String对象,严重的话会对服务器资源和性能造成不小的影响,而使用StringBuffer和StringBuilder能够解决以上问题,StringBuffer是线程安全的,而StringBuilder不是线程安全的.2.StringBuffer源码:StringBuffer使用了方法锁进行线程安全...原创 2021-03-29 22:17:45 · 109 阅读 · 0 评论 -
Java线程内存和主内存之间的联系
1.Java主内存与线程的内存之间的相互调用2.java线程的两个问题:原创 2021-03-29 11:32:45 · 218 阅读 · 0 评论 -
自定义线程错误打印信息
1.线程的run方法不能抛出异常,所有的异常都应该在run方法中处理2.当然我们可以实现UncaughtExceptionHandler类,从而重写uncaughtException方法来重定义错误输出信息:代码:import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;public class ExceptionHandlerThread implements Thread.UncaughtExceptionHandler {原创 2021-03-29 10:48:44 · 269 阅读 · 0 评论 -
SpringBoot四种属性配置
1.Autowired配置: @Autowired private JdbcProperties properties;2.构造器方法注入://第二种属性配置//JdbcConfiguration是本类,JdbcProperties是要注入的类 private JdbcProperties properties; public JdbcConfiguration (JdbcProperties properties){ this.properties=proper原创 2021-03-24 16:39:33 · 282 阅读 · 0 评论 -
Java-Socket-shutdownOutput让服务器端不再阻塞
1.客户端:代码:package sockTest;import java.io.*;import java.net.Socket;public class TCPC { public static void main(String[] args) throws IOException, InterruptedException { Socket socket=new Socket("127.0.0.1",6666); OutputStream outp原创 2021-03-13 12:13:07 · 776 阅读 · 0 评论 -
网络编程与URL结合
1.从网上下载一张到服务器,然后再传输给客户端2.服务器端:package sockTest;import com.sun.xml.internal.ws.transport.http.WSHTTPConnection;import javax.print.DocFlavor;import java.io.*;import java.net.*;public class TCPServer { public static void main(String[] args) thro原创 2021-03-13 10:52:59 · 141 阅读 · 0 评论 -
Java-URL类
1.URL类的作用:URL 是统一资源定位符(Uniform Resource Locator)的简称,它表示 Internet 上某一资源的地址。通过 URL 用户可以访问各种网络资源,比如常见的 WWW 以及 FTP 站点。浏览器可以通过解析给定的 URL 在网络上查找相应的文件或其他资源2.URL类与URLConnection类的联系:完成了 URL 的定义,接下来就可以获得 URL 的通信连接。在 java.net 包中,定义了专门的 URLConnection 类来表示与 URL 建立的通信原创 2021-03-13 09:51:35 · 666 阅读 · 0 评论 -
Java-缓冲流
1.原理:提高读写效率,相当于在InputStream中的read中放入byte[],2.字节缓冲输出流:不填入size,则会存储默认的size大小.BufferOutputStream使用方法:private static void demo01() throws IOException { //1.创建一个FileOutputStream对象 FileOutputStream fos=new FileOutputStream("a.txt");原创 2021-03-10 22:39:27 · 140 阅读 · 0 评论 -
Java-字符流、字节流、以及Proerties集合对流的使用
1.流:就是在硬盘和内存之间进行沟通.内存输入,内存输出2.字节流:3.OutputStream(字节输出流):是一个抽象类,只能通过子类去实现子类:3.FileOutputStream:原理:写入文件原理:public static void main(String[] args) throws IOException { //1.创建一个FileOutputStream对象 FileOutputStream fos=new FileOutputStream原创 2021-03-10 22:37:32 · 290 阅读 · 0 评论 -
Java-Comparable类(重写compareTo方法)
1.Comparable 接口定义了compareTo方法,用于比较对象,为了找出两个相同类型的。Comparable接口是一个范型接口。在实现该接口时,范型类型E被替换成一种具体的类型。Java库中的许多类实现了Comparable接口以定义对象的自然顺序。Byte、Short、Integer、Long、Float、Double…以及Data类...原创 2021-03-08 17:43:08 · 3528 阅读 · 2 评论 -
Java-如何自动关闭文件
1.程序员经常会关闭文件。JDK 7提供了下面的新的try-with-resources语法来自动关闭文件.try(声明和创建资源){使用资源文件;}public class TaskPrintWriter { public static void main(String[] args) throws FileNotFoundException { File file=new File("E:\\360MoveData\\Users\\黄大山\\Desktop\\1.t原创 2021-03-07 16:23:35 · 1093 阅读 · 0 评论 -
Java-异常处理详解
1.Java异常:在程序运行过程中,如果JVM检测出一个不可能执行的操作,就会出现执行时的错误.例如数组下标越界、以0作为除数.异常是运行错误。而运行时错误会作为异常抛出,异常就是一种对象,表示阻止正常运行的错误或者情况。如果异常没有被处理,那么程序就会异常终止。所以我们要学习怎么样处理异常,以使程序可以继续运行或者优雅地终止.2.异常处理的规范:异常应该从方法抛出,而由方法的调用者来捕获和处理该异常,以至于调用者决定是否终止程序....原创 2021-03-06 20:47:09 · 156 阅读 · 0 评论 -
Java-final的作用
1.一个被final修饰的类和方法是不能被继承的.被final修饰的数据是一个常数.2.有时候可能防止类被继承。在这种情况下,使用final修饰符表明类是一个最终类,是不能作为父类的.3.final修饰符与public、protected、private、static、abstract相比,final还可以作用在方法的局部变量上....原创 2021-03-06 11:05:19 · 139 阅读 · 0 评论 -
Java-重写equals()和toString()方法
1.任何一个类都继承了Object类的toString()和equals()方法.public class R { double radius; public R(double radius){ this.radius=radius; } //判断两个对象的内容是否相等`在这里插入代码片` @Override public boolean equals(Object obj) { if (obj==null){原创 2021-03-06 10:08:08 · 270 阅读 · 0 评论 -
Java-继承
1.父类的构造方法不会被子类继承,它们只能使用关键字super从子类的构造方法中调用.2.当构建一个子类的对象时,子类的构造方法会在完成自己的任务之前,首先调用它的父类的构造方法。如果父类继承自其它类,那么父类的构造方法又会在完成自己的任务之前,调用它自己的父类的构造方法。这个过程持续到沿着这个继承层次结构的最后一个构造方法被调用为止,这就是构造方法链....原创 2021-03-05 20:43:37 · 114 阅读 · 0 评论 -
Java-使用BigInteger求阶乘
BigInteger可以用来表示任意大小和精度的整数,用new BigInterger(String)来创建BigInteger的实例。通过使用add、mulitiple、divide等来进行运算.import java.math.BigInteger;public class MultiplyCheck { public static BigInteger factorial(int n){ BigInteger result=BigInteger.ONE;//相等..原创 2021-03-05 10:45:42 · 1232 阅读 · 2 评论 -
Java之栈结构
import java.util.ArrayList;import java.util.List;public class StackNow { private List stack; public StackNow(){ this.stack=new ArrayList(); } //入栈 public void plush(Object object){ stack.add(object); } //弹栈原创 2021-03-05 10:22:31 · 160 阅读 · 1 评论 -
Java this的使用
1.关键字this表示引用对象自身2.关键字this还可以在构造方法内部用于调用同一个类的其他构造方法.原创 2021-03-05 09:08:26 · 133 阅读 · 1 评论 -
Java论日期(Date)与字符串(String)如何互相转换
第一个方法:第二个方法:第三个方法:2.DataFormat类:/* java.text.DateFormat:是日期/时间格式化子类的抽象类 作用: 格式化(也就是日期 -> 文本)、解析(文本-> 日期) 成员方法: String format(Date date) 按照指定的模式,把Date日期,格式化为 符合模式的字符串 Date parse(String source) 把...原创 2021-03-04 20:19:22 · 1344 阅读 · 3 评论 -
类的状态
三种状态:1.本身2,为null(重点)3.实类.原创 2021-03-04 17:16:32 · 291 阅读 · 1 评论 -
JavaBean的编写规范
1.JavaBean的编写规范(标准类):原创 2021-03-04 16:13:10 · 660 阅读 · 1 评论 -
详细解释局部变量与成员变量
局部变量和成员变量:原创 2021-03-04 16:10:59 · 222 阅读 · 1 评论 -
Java详细解释类与对象
面向对象:偷懒.2.任何面向对象都有这三大特征.3.5.对象是代表现实世界中可以明确的一个实体.6.类与内存:单个对象:凡是new出来的都在堆中.call一旦执行完就会弹出栈.两个对象:两个对象所使用的方法的地址是指向相同的,并且方法都是放在栈中.对象的引用:Phone two=one;只是tow和one对象指向了同样的地址空间.对象方法参数:method(Phone param)method(one).就是将one的地址传递给param.类作...原创 2021-03-04 16:09:31 · 104 阅读 · 1 评论 -
使用Java的main方法来输出字符串
1.类一:public class TeskMain1 { public static void main(String[] args) { String[] s={"你","好","啊"}; TeskMain2.main(s); }}2.类二:public class TeskMain2 { public static void main(String[] args) { System.out.println(Arrays.原创 2021-03-04 09:48:10 · 668 阅读 · 1 评论 -
Java程序编写方法
1.自顶向下方法:就是自上而下,每次实现结构图中的一个方法。待实现的方法可以用存根方法代替,存根方法是方法的一个简单但不完整的方法,使用存根方法可以快速地构建程序的框架.2.自底向下方法是从下向上每次实现结构图中的一个方法,对每一个实现的方法都写一个测试程序进行测试.这两种方法可以一起使用。...原创 2021-03-04 08:37:20 · 382 阅读 · 1 评论 -
Java 字符串(String)详解
String:1.String底层存放的是字节数据,所以将其它数据转换成字节数据进行存储.2.直接创建也是new了一个对象.对于基本类型来说,是进行数值的比较(如int,char,double数的)对于引用类型来说,==是进行地址值的比较(如String,Integer,Double)字符串常量池:直接用双引号创建的字符串,就存放在字符串常量池中.4.字符串内容进行比较:String str1=“Hello”;String str2=“Hello”;System.ou原创 2021-03-03 20:29:14 · 2217 阅读 · 1 评论 -
Java中的next()与nextLine()方法
用Scanner类中的next()方法读取字符串时,不要再用nextLine()方法去读取.因为nextLine()方法将会从next()方法的分割符进行读取,而不是从头开始读取.原创 2021-03-03 17:13:37 · 213 阅读 · 1 评论 -
Java输出双引号
//如果想在Java中打出双引号,则需要使用转义字符\public class TaskRandom { public static void main(String[] args) { System.out.println("He said \"He is a boy\""); }}原创 2021-03-03 16:38:13 · 5284 阅读 · 2 评论 -
两个浮点数的相等值测试
//如果对于一个非常小的值z,如果/x-y/<z,则说明x与y非常接近public class TaskFloatAndDouble { public static void main(String args[]){ final double EPSILON=1e-14; double x=1.0/3; double y=0.333333333333332; if(Math.abs(x-y)<EPSILON){ .原创 2021-03-03 16:11:37 · 370 阅读 · 1 评论