202109-22 Java 中的 Unsafe 魔法类的作用大全 Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。但是,这个类的作者不希望我们使用它,因为我们虽然我们获取到了对底层的控制权,但是也增大了风险,安全性正是Java相对于C++/C的优势。因为该类在sun.misc包下,默认是被BootstrapClassLoader加载的。如果我们在... 继续阅读 >
202109-22 图解排序算法之希尔排序Java实现 目录一、基本思想二、代码实现三、总结一、基本思想希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。简单插入排序很循规蹈矩,不管数组分布是怎么样的,依然一步一步的对元素进行比较,移动,插入,比如[5,4,3,2,1,0]这种倒序序列,数组末端的0要回到首位置很是费劲,比较和移动元素均需n-1次。而希尔排序... 继续阅读 >
202109-20 Java基于字符界面的简易收银台 用Java实现简易收银台,供大家参考,具体内容如下简易收银台的实现并不难,主要实现这几个类:商品类Goods (将商品根据编号,名称,价格存放)商品中心类GoodsCenter (存放商品,可以添加商品,下架商品,修改商品信息,判断商品是否存在或者货架已满,打印商品等功能)订单类Order (处理订单,主要实现买单功能,下单,计算总价)功能实现初始化界面商品上架 修改商品信息下架商品 返回并进... 继续阅读 >
202109-20 Java Dubbo框架知识点梳理 1、Dubbo是什么Dubbo是一个分布式、高性能、透明化的RPC服务框架,提供服务自动注册、自动发现等高效服务治理方案,可以和Spring框架无缝集成。RPC指的是远程调用协议,也就是说两个服务器交互数据。2、Dubbo的由来互联网的快速发展,Web应用程序的规模不断扩大,一般会经历如下四个发展阶段。单一应用架构:当网站流量很小时,只需一个应用,将所有功能都部署在一起即可。垂直应用架构:当访问量逐渐增大,单一应用按照有... 继续阅读 >
202109-20 Java实现多线程聊天室 本文实例为大家分享了Java实现多线程聊天室的具体代码,供大家参考,具体内容如下用多线程来实现,功能会比单线程聊天室更加齐全,也更人性化一点。多线程版本的聊天室1.功能分析:实现用户注册,上线,下线实现群聊和私聊统计当前在线人数2.服务端实现1.维护所有的在线用户2.注册功能:客户端名称,添加到服务器的客户端集合里3.群聊功能:客户端发送消息,所有的客户端都能接收到4.私聊功能:客户端与指定客户端进发送... 继续阅读 >
202109-20 Java多线程实现多人聊天室功能 本文为大家分享了Java多线程实现多人聊天室功能的具体代码,供大家参考,具体内容如下1.实验目的:编写一个Java应用程序,实现图形界面多人聊天室(多线程实现),要求聊天室窗口标题是“欢迎使用XXX聊天室应用”,其中XXX是自己的班级姓名学号,如“软件171张三1234”。2.实验代码:服务端程序代码:ServerChar.javapackageworks;importjava.io.DataInputStream;importjava.io.DataOutputStream;importjava.io.IOEx... 继续阅读 >
202109-20 详解Jackson的基本用法 目录一、前言二、Jackson的核心模块三、ObjectMapper的使用四、信息配置五、Jackson注解的使用六、Jackson示例6.1、JacksonObjectMapperExample6.2、从Reader读取对象6.3、从File中读取对象6.4、从URL中读取对象6.5、从InputStream读取对象6.6、从字节数组中读取对象6.7、从JSON数组字符中读取对象数组6.8、从JSON数组字符中读取对象列表6.9、从JSON字符串中读取映射为map6.10、树模型6.11、将Object转换为JsonNode6.12、将JsonN... 继续阅读 >
202109-20 JAVA OutputStreamWriter流的实现 一、OutputStreamWriter流 API说明:OutputStreamWriter是从字符流到字节流的桥接:使用指定的字符集将写入其中的字符编码为字节。它使用的字符集可以通过名称指定,也可以明确指定,或者可以接受平台的默认字符集。每次调用write()方法都会导致在给定字符上调用编码转换器。生成的字节在写入底层输出流之前在缓冲区中累积。可以指定此缓冲区的大小,但默认情况下,它足够大,可用于大多数用途。请注意,传递... 继续阅读 >
202109-20 浅谈Java中Properties类的详细使用 目录一、Properties类二、打印JVM参数三、打印自定义.properties文件中的值3.1、list输出到控制台用绝对路径加载3.2、propertyNames输出getClass()加载3.3、stringPropertyNames输出getClassLoader加载(推荐)四、获取值getProperties五、写入到Properties文件5.1、普通写入,中文时乱码5.2、解决乱码写入的问题六、加载和导出到xml配置文件6.1、导出到.xml配置文件storeToXML6.2、导出XML配置文件loadFromXML一、Properties类Pro... 继续阅读 >
202109-19 如何理解Java线程池及其使用方法 目录一、前言二、总体的架构三、研读ThreadPoolExecutor3.1、任务缓存队列3.2、拒绝策略3.3、线程池的任务处理策略3.4、线程池的关闭3.5、源码分析四、常见的四种线程池4.1、newFixedThreadPool4.2、newSingleThreadExecutor4.3、newCachedThreadPool4.4、newScheduledThreadPool五、使用实例5.1、newFixedThreadPool实例5.2、newCachedThreadPool实例5.3、newSingleThreadExecutor5.4、newScheduledThreadPool六、总结6.1、如何选... 继续阅读 >
202109-19 java局部变量表的基础知识点及实例 说明1、局部变量表也叫局部变量数组或本地变量表。定义为一个数组,主要用于存储方法参数和定义方法中的局部变量。这些数据类型包括各种基本数据类型、对象参考和returnAddress类型。2、因为局部变量表是建立在线程栈上的线程私有数据,所以没有数据安全问题。实例privatestaticintcount=0;publicstaticvoidrecursion(inta,intb,intc){longl1=12;shortsl=1;byteb1=1;Strings="1";System.out.println("count="+count);... 继续阅读 >
202109-19 分析Java中的类加载问题 目录一、Java类的加载顺序二、类加载过程三、被动引用中和类静态初始化的关系四、类加载器双亲委派一、Java类的加载顺序引用1个网上的经典例子,并做稍许改动,以便大家更好地理解。publicclassAnimal{privateinti=test();privatestaticintj=method();static{System.out.println("a");}Animal(){System.out.println("b");}{System.out.println("c");}p... 继续阅读 >
202109-19 Java String类用法详解 一、简介零碎知识点extendsObjectimplementsserializable,Comparable<String>,charSequenceString类表示字符串,所有字符串文字都是此类的对象字符串是不变的,值在创建后无法更改对象一旦声明则不可改变,改变的只是地址,原来的字符串还是存在的,并且产生垃圾任何一个“”都为字符串对象,无赋值则为匿名对象用“+”拼接字符串尽量避免,一般用append+toStringStringBuilder(线程不安全... 继续阅读 >
202109-19 Java中notify()和notifyAll()的使用区别 notify()和notifyAll()有什么区别?先解释两个概念。等待池:假设一个线程A调用了某个对象的wait()方法,线程A就会释放该对象的锁后,进入到了该对象的等待池,等待池中的线程不会去竞争该对象的锁。锁池:只有获取了对象的锁,线程才能执行对象的synchronized代码,对象的锁每次只有一个线程可以获得,其他线程只能在锁池中等待然后再来说notify和notifyAll的区别如果线程调用了对象的wait()方法,那么线程便会... 继续阅读 >
202109-19 Java通过百度API实现图片车牌号识别 本代码功能是通过调用百度API实现的,所有你需要去百度API官网申请下你的APIKey以及SecretKey才能使用它的功能哦!拟采用百度AI实现该功能(http://ai.baidu.com/docs#/OCR-API/5116ac95)根据百度的文档描述,初步明确需要的几个参数为:1、应用的APIKey2、应用的SecretKey3、access_token4、图片数据首先导入maven依赖<dependency><groupId>com.baidu.aip</groupId><artifactId>java-sdk</... 继续阅读 >
202109-18 Java实现Windows计算器界面 前一段时间在学校简单的学习了Java,对Java这门我第一次接触的面向对象语言有了一定的了解。一直没时间整理写的东西,今天打算整理下上传下。Java相对于C来说比较方便的就是用来写界面(PS:但其实Java写的界面也是十分的“有年代感”)之前学到写界面时的练手程序就是这个计算器界面程序其实比较简单,主要就是练习界面的排布等界面:代码:importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassCalTest... 继续阅读 >