![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
学者(cloudea)
写前后端就图一乐 算法才是生活
展开
-
设计模式之模板模式示例
模板模式template pattern模板,就是规定了一个算法,然后把它拆成多个步骤,其中一些步骤由子类来实现。由于模板实现了算法中的一些步骤,因此可以在保持变化同时,减少代码复制。外部使用抽象的模板,而不是具体的子类,这体现了依赖倒置原则。模板模式的核心类如下所示。public abstract class Template { public abstract ... opera...原创 2019-11-30 13:11:58 · 238 阅读 · 1 评论 -
设计模式之组合模式示例
组合模式简介组合模式(Composite Pattern),就是同一类型的对象像一棵树一样聚焦在一起。就像下图一样。图中一个结点对应一个类的实例。图中的箭头是“组成关系”,即某个结点内部包含了指向的所有结点。如果翻译成类图,就像下图一样 。SubComponent就是上图中的Branch,它包含多个Component,也就是说,SubComponent既可以包含SubComponent,又...原创 2019-11-19 23:17:33 · 2542 阅读 · 0 评论 -
基于JClient使用Java构建桌面应用程序
preview这是一个简单使用的小例子。更多强大功能等着你来实现!注意图中的 打开文件 窗口是用java写的哦。前端通过HTTP和后端Java进行交互,整体构成了一个程序。依赖依赖开源框架 JClient , 使用非常简单下载地址: https://github.com/clouddea/jclient代码前端核心部分: let text = document.getEleme...原创 2019-09-18 13:08:12 · 629 阅读 · 0 评论 -
URL编码原理及Java实现
原理URL编码使用 %xx 来表示一个字节。而xx 就是这个字节的十六进制表示。因此编码时,可以将字符串转成UTF-8编码。将每一个字节转成’%xx’形式就是URL编码了。例如:字符串 “123” 转成utf-8编码就是 0x31 0x32 0x33 共三个字节,然后转成url编码就是 %31%32%33代码编码public static String encode(String tex...原创 2019-09-13 09:55:46 · 425 阅读 · 0 评论 -
java实现MD5摘要算法及MD5原理
MD5初始值md5算法规定了初始值,把它分成四组分别叫作A、B、C、D,并把每个分组看作一个整数(大端模式)。初始值如下:从左到右是按照字节递增的顺序。0123456789abcdeffedcba9876543210因此A = 01234567B = 89abcdefC = fedcba98D = 76543210但是数字在Windows、Linux等系统中是以小端模式存储的,因此...原创 2019-09-08 22:52:54 · 1913 阅读 · 0 评论 -
socket可靠性的实现办法:连接的可靠以及数据发送的可靠
在进行socket相关编程的过程中我发现,Scoket不是那么稳定可靠,表现在以下方面:如果长时间没有数据往来,连接会断掉(可能是路由或防火墙)如果客户端断网, 服务端不能检测到。这会导致服务端一直占用资源,且发出的数据 没有发送成功却不会 出错针对以上两个问题,一些解决方案如下。设置socket的keepalive属性 。 但是在实践过程中发现并没有用,长时间没有数据传送...原创 2019-07-20 15:54:37 · 1377 阅读 · 2 评论 -
java实现的生产者与消费者模型
说明本程序支持多个生产者和消费者。生产者 产生字符串,消费者从缓冲区中读出并打印到控制台。可以把缓冲区数量改为 1。依然可以正常运行。利用了java多线程(wait() notify() notifyAll)运行结果代码package test;public class Main implements Runnable { final int MAX_WORKER = ...原创 2019-06-27 20:23:08 · 611 阅读 · 0 评论 -
java swing 使用菜单-使用线程-以简单计时器为例
swing这是一个在swing下使用线程的例子。本例演示了如何在swing中使用菜单。因为,swing界面是单线程的。所以如果有其它逻辑,例如从网络异步获得数据等等都需要开其它线程。否则会影响到界面。例子代码package timer;import java.awt.*;import java.awt.RenderingHints.Key;import java.awt.ev...原创 2019-06-27 16:50:20 · 385 阅读 · 0 评论 -
java swing 的一个简单例子-面板的使用-标签换行-存取文件
swingjava swing是轻量级的用来开发跨平台图形界面的库。不是特别常用,也不是特别好用。以下是一个基本用法的例子。基本涵盖了大部分内容。例子代码import java.awt.*;import java.awt.event.*;import java.util.Date;import java.io.*;import javax.swing.*;publi...原创 2019-06-27 15:45:47 · 4130 阅读 · 0 评论 -
java 进行base64编码解码
package base64;import java.util.Arrays;import java.util.Hashtable;public class Base64 { private static char[] baseChar = { 'A', 'B','C','D','E','F','G','H','I','J','K','L','M','N','O','P...原创 2019-05-12 10:15:22 · 829 阅读 · 0 评论