Java
文章平均质量分 77
嘿哈哈哈
人生就像一场演出,不到谢幕永远不知道自己有多精彩。
展开
-
编程笔试笔记 - Java/C++篇
一、语言选择备选语言C++:STL 好用但是不熟练啊Java:数据结构丰富但是不常用Python:很灵活但是不会用Go:没什么数据结构,只有map和list,只是很常用首选语言 Java输入和输出Scanner scan = new Scanner(System.in);scan.hasNext(); scan.next();scan.hasNextLine(); scan.nextLine();scan.hasNextInt(); scan.nextIn.原创 2022-03-15 18:47:08 · 2293 阅读 · 0 评论 -
Fldw:支持模式匹配的流式编程语言
FldwGitHub 地址The Fldw language, means the flowing of data, a stream program language with the pattern matching.Fldw,寓意数据的流动,是一个支持模式匹配的流式编程语言。其为动态类型,支持语句块和符号定义域,支持指针和值传递,支持函数的递归调用。基于 Java 15,且为 LL(3) 语法。快速上手WindowsWindows 下运行 Fldw 需要 Java 15 以上的环境,原创 2020-12-20 11:29:22 · 1090 阅读 · 3 评论 -
解决:Maven 打包的 jar 没有主清单属性
需要在 pom.xml 中增加对 mainClass 的配置Spring Boot 项目<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId原创 2020-12-07 18:35:36 · 762 阅读 · 0 评论 -
NIO 编程
NIO 编程采用双向通道(channel)进行数据传输,且客户端和服务端都需要维护一个 selector 对象来进行对通道的管理,在通道上注册事件和轮询事件。NioServer:import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio....原创 2018-12-04 17:32:15 · 151 阅读 · 0 评论 -
AIO 编程
AIO 编程为每个请求新建一个线程。AioServer:import java.io.IOException;import java.net.InetSocketAddress;import java.net.StandardSocketOptions;import java.nio.ByteBuffer;import java.nio.CharBuffer;import jav...原创 2018-12-04 17:38:32 · 558 阅读 · 0 评论 -
使用 Protobuffer+Idea+Maven 序列化对象
Protocol Buffer 是使用 Google 开发的一种开源数据交换格式,独立于语言,独立于平台,采用二进制传输。Protobuffer 语法标识符Protobuffer 协议的标识符为 message 或 enum,message 代表消息类型,enum 代表枚举类型,在通过Protobuffer 编译器编译之后,都生成 Java 的一个类。修饰符协议字段格式:role typ...原创 2018-12-12 23:48:33 · 545 阅读 · 0 评论 -
Maven pom.xml 框架
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m原创 2018-12-06 17:33:14 · 215 阅读 · 0 评论 -
Mina 编程
IoFilterChain:是 Mina 处理流程的扩展点,如果想要增加流程而不影响后续的业务逻辑代码,只需要向 Chain 中添加 IoFilter 即可。IoHandler:Mina 中要实现的业务逻辑都是在 IoHandler 中完成的。IoHandler 是 Mina 处理流程的终点,在最后一个 IoFilter 中调用,所以只要要有一个 IoFilter。并且每个 IoService ...原创 2018-12-06 17:34:42 · 303 阅读 · 0 评论 -
Netty 编程
NettyServer:import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty.channel.ChannelOption;import io.netty.chan...原创 2018-12-06 17:35:49 · 498 阅读 · 1 评论 -
JDBC 编程
Mac 中解决中文乱码问题在 /etc 新建 my.cnf 文件:sudo vim my.cnf添加:[client]default-character-set=utf8[mysqld]character-set-server=utf8退出:Esc+qw+ZZ重启 MySQLimport java.sql.Connection;import java.sql.DriverMa...原创 2018-12-13 22:52:25 · 564 阅读 · 0 评论 -
WebSocket 编程
WebSocket 是随 HTML5 新兴的协议,可以实现浏览器与服务器之间的全双工通信,且需要在 Tomcat7 以上运行。websocketclient.html:<html lang="en"><head> <meta charset="UTF-8"> <title>WebSocket客户端</title&原创 2018-12-04 17:23:46 · 648 阅读 · 0 评论 -
Socket 编程
TCP 编程传输单位为字节客户端:socket = new Socket(server, servPort);服务器:serverSocket = new ServerSocket(serverPort);Socket clientSocket = serverSocket.accept();TCPSocketServer:import java.io.IOExceptio...原创 2018-12-04 17:14:02 · 190 阅读 · 0 评论 -
HTTP 编程
使用 HttpURLConnection 获取应用层数据的状态码和内容:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLExcepti...原创 2018-12-04 17:02:28 · 236 阅读 · 0 评论 -
Java链接到数据库mysql
链接数据库调用connect方法退出链接调用exit方法使用的数据库是mysqlimport java.sql.*;public class Constants { private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; private static final String DB...原创 2018-08-08 14:20:33 · 190 阅读 · 0 评论 -
JavaTCP通信
Server为服务器,Receive为客户端,先运行服务器,再运行客户端Receivepackage Java.TCP;import java.io.IOException;import java.io.OutputStream;import java.io.PrintWriter;import java.net.InetAddress;import java.net...原创 2018-08-07 10:12:13 · 936 阅读 · 0 评论 -
Java链接到数据库sqlite
链接数据库调用connect方法退出链接调用exit方法使用的数据库是sqliteimport java.sql.DriverManager;import java.sql.SQLException;public class ControlConstants { static final String JDBC_DRIVER = &quot;org.sqlite.JDBC&quot;;...原创 2018-08-07 10:12:20 · 515 阅读 · 0 评论 -
快速排序Java语言实现
package Java;import java.util.ArrayList;import java.util.Collections;public class QuickSort { public static Integer[] RandomList(int num) { ArrayList<Integer> list = new ArrayLi...原创 2018-08-06 14:41:51 · 357 阅读 · 0 评论 -
图像色彩空间转换——RGB与HSL/HSV
色彩空间RGB色彩空间RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。HSL/HSV色彩空间HSL色彩模式是工业界的一种颜色标准,是通过对色相(H)、饱和度(S)、明...原创 2018-07-27 09:11:23 · 3967 阅读 · 0 评论 -
BufferedImage常见问题
一、BufferedImage对象像素的读写方法读取一个像素点的RGB值的代码如下: index = row * width + col; ta = (pixels[index] &amp;amp;amp;gt;&amp;amp;amp;gt; 24) &amp;amp;amp;amp; 0xff; tr = (pixels[index] &amp;amp;amp;gt;&a原创 2018-07-25 22:38:27 · 2465 阅读 · 0 评论 -
BufferedImageOp接口实现滤镜
BufferedImageOp接口的实现原创 2018-07-25 22:38:51 · 1489 阅读 · 0 评论 -
Hibernate 编程(Idea 安装加配置)
Maven 依赖 &lt;!--Hibernate--&gt; &lt;!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core --&gt; &lt;dependency&gt; &lt;groupId&gt;org.hibernate原创 2018-12-13 22:59:31 · 441 阅读 · 0 评论 -
MongoDB 编程(Idea 安装加配置)
MongoDB 安装进入 /usr/localcd /usr/local下载sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.2.tgz解压sudo tar -zxvf mongodb-osx-x86_64-3.4.2.tgz重命名为 mongodb 目录sudo mv mongodb-osx-x8...原创 2018-12-13 23:14:33 · 1697 阅读 · 0 评论 -
ORM 概述,优缺点,及常用框架介绍
什么是 ORM对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。其主要作用是在关系型数据库和业务实体对象之前作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的 SQL 语句打交道,只需简单的操作对象的属性和方法。而达到的效果就是我们直接创...原创 2019-03-19 09:36:58 · 3464 阅读 · 0 评论 -
Maven 使用 JOGL 的 pom 文件
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m原创 2018-12-31 13:54:07 · 909 阅读 · 0 评论 -
Java RPC 编程:Motan 实现示例,集群配置
在多个服务器进程之间的通信,目前使用的技术一般是 RPC(Remote Procedure Call Protocol,远程过程调用协议)。使用 RPC 可以访问远程主机的进程服务,不需要清楚底层网络通信机制,只需要关注服务本身即可。RPC 是目前分布式开发技术中一种常用的技术,其在分布式开发中能更简单地调用远程服务,就像本地开发一样。Motan 是新浪微博开源的 RPC 轻量级框架,其底层网...原创 2018-12-30 21:21:00 · 651 阅读 · 0 评论 -
Java RPC 编程:Json-RPC 实现示例,Maven Webapp 框架
在多个服务器进程之间的通信,目前使用的技术一般是 RPC(Remote Procedure Call Protocol,远程过程调用协议)。使用 RPC 可以访问远程主机的进程服务,不需要清楚底层网络通信机制,只需要关注服务本身即可。RPC 是目前分布式开发技术中一种常用的技术,其在分布式开发中能更简单地调用远程服务,就像本地开发一样。Json-rpc:jsonrpc4j 的 jar 包及其依...原创 2018-12-30 19:54:17 · 1271 阅读 · 0 评论 -
Java 并行数组的使用
Java 8 中新增了数组的并行操作,可以使用 Lambda 表达式对数组进行排序、过滤和分组等操作,充分发挥了目前操作系统多核架构的优势,在速度、性能上能够提高数倍。import java.util.Arrays;import java.util.List;import java.util.Map;import java.util.concurrent.ThreadLocalRandom...原创 2018-12-25 11:28:52 · 1363 阅读 · 0 评论 -
Java Base64的使用
java.util.Base64 工具类有 Basic、URL和 MIME 三种编码器和解码器。import java.nio.charset.StandardCharsets;import java.util.Base64;public class Base64Demo { public static void main(String[] args) { String text ...原创 2018-12-25 11:28:20 · 657 阅读 · 0 评论 -
Java StreamAPI 的使用
StreamAPI 能让代码更加简洁,极大地简化了集合框架的处理。import java.util.Arrays;import java.util.Collection;import java.util.List;import java.util.Map;import java.util.stream.Collectors;enum Status { OPEN, CLOSED...原创 2018-12-25 11:27:41 · 156 阅读 · 0 评论 -
Java Optional 类的使用
使用 Optional 类可以通过检查空值来防止代码污染,也可以根据条件过滤非空值。import java.util.NoSuchElementException;import java.util.Optional;public class OptionalDemo { public static void main(String[] args) { Option...原创 2018-12-25 11:00:55 · 136 阅读 · 0 评论 -
Java 格式化:数字,货币,日期,消息
数字格式化import java.text.NumberFormat;import java.util.Locale;public class NumberFormatDemo { public static void main(String[] args) { double value = 987654.321; Locale cnLocale ...原创 2018-12-25 10:46:18 · 229 阅读 · 1 评论 -
Java 国际化编程,Locale 和 ResourceBundle 的使用
国际化(internationalization,I18N),本地化(localization,L10N)国际化意味着一个软件可同时支持多种语言,而本地化需要为特定区域或国家的用户提供不同的软件。Locale 类Locale 类是用来标识本地化消息的重要工具类,其特定对象表示某一特定的地理、政治或文化区域。import java.util.Locale;public class Loc...原创 2018-12-25 10:05:00 · 366 阅读 · 0 评论 -
Java 枚举类使用
枚举类的创建public enum Season { SPRING("春"), SUMMER("夏"), FALL("秋"), WINTER("冬"); private String name; Season(String name) { this.name = name; } public String toString() { ...原创 2018-12-25 09:37:10 · 167 阅读 · 0 评论 -
写入和解析 XML 文档
待测试的 Java 对象RootElement:import javax.xml.bind.annotation.XmlRootElement;/** * Unmarshaller的文档根元素 */@XmlRootElementpublic class RootElement { private long val1; private double val2; ...原创 2018-12-10 14:55:58 · 286 阅读 · 0 评论 -
Redis 编程(Idea 安装加配置)
Redis 的特点速度快,运行在内存中,执行速度非常快。数据类型丰富:String,上限512MBListsetsorted set,每个元素关联一个 score,以提供排序依据hash,字符串与字符串之间的映射操作原子性,所有的 Redis 操作都是原子的,保证多个客户端并发访问时获取到 Redis 服务器的值为最新值。持久化,与 Memcache 不同的是,Redis...原创 2018-12-15 00:18:07 · 2248 阅读 · 0 评论 -
Quartz 实现定时任务
Quartz 是一个功能强大的作业调度工具,相当于数据库中的 Job、Windows 的计划任务、Unix/Linux 下的 Cron,但 Quartz 可以把流程控制的更精细。而且 Quartz1.✘ 版本可以和 Spring 进行结合。本文使用的 Quartz: &lt;groupId&gt;org.quartz-scheduler&lt;/groupId&gt; &lt;artifac...原创 2018-12-19 23:37:07 · 588 阅读 · 0 评论 -
JSON 与JavaBean转换
待测试的 Java 对象JsonObject:JsonSubObject:Json-lib使用 JSONObject 的 toString 和 toBean 方法完成 Json 和 JavaBean 之间的转换,如果对象中含有复杂对象,在 Json 反序列化为 JavaBean 时需要传入ClassMap&lt;String, Class&gt;Json-lib:i...原创 2018-12-06 23:27:14 · 434 阅读 · 0 评论 -
Maven项目如何处理依赖冲突
使用 Idea 的扩展插件:Maven Helper原创 2018-12-09 10:29:57 · 279 阅读 · 0 评论 -
Memcache 编程(安装及配置)
安装及配置安装 Homebrew:https://brew.sh/index_zh-cn.html安装 Memcachebrew search memcache安装服务器:brew install memcached启动 :/usr/local/Cellar/memcached/1.5.12/bin/memcached -d -m 1024 -l 127.0.0.1 -p 11211...原创 2018-12-13 23:34:04 · 352 阅读 · 0 评论 -
BufferedImage的创建与保存
BufferedImage的创建与保存原创 2018-07-24 23:29:44 · 15980 阅读 · 1 评论