解决WSL上运行plantUML中文乱码问题
生成UML图命令: java -jar plantuml.jar -charset UTF-8 my.txt 1. 保证my.txt 使用uft-8编码 2. wsl中安装中文字体: 如: sudo apt-get install ttf-wqy-microhei #文泉驿-微米黑 sudo apt-get install ttf-wqy-zenhei #文泉驿-正黑 sudo apt-get install xfonts-wqy #文泉驿-点阵宋体 3. 在plantUML代码开始位置加入:
PHP自动加载上——spl_autoload_register
spl_autoload_register函数是实现自动加载未定义类功能的的重要方法,所谓的自动加载意思就是 我们的new 一个类的时候必须先include或者require的类文件,如果没有include或者require,则会报错。那这样我们就必须在文件头部写上许多include或require文件,非常麻烦, 为了使得没有include或者require类的时候也正常new一个类,所以有了自动加载的概念,也就是说new一个类之前不用事先包含类文件也可以正常new,这样我们的文件头部就不用
程序控制结构--选择结构
选择结构 单分支选择结构 语法 if 表达式: 语句块 当表达式值为True时,表达式满足,语句块执行,否则不执行 >>> x = input('Input two numbers:') Input two numbers:23 44 >>> a,b = map(int,x.split()) >>> if a<b: ... a,b=b,a ... >>> print(a,b) 44 23 >>> if 3>2: print('ok') ... ok >>> if True:print(
Build tools
什么是构建工具? 构建工具是从源代码自动创建可执行应用程序的程序(例如.apk for android app)。构建包括将代码编译,链接和打包成可用或可执行的形式。 基本上,构建自动化是脚本或自动化软件开发人员在日常活动中执行的各种任务的行为,例如: 下载依赖项。 将源代码编译为二进制代码。 打包二进制代码。 运行测试。 部署到生产系统。 为什么我们使用构建工具或构建自动化? 在小项目中,开发人员通常会手动调用构建过程。这对于较大的项目来说是不实际的,在这些项目中,很难跟踪需要构建的
Idea打开一个原有的项目常见问题
无法编译 Java版本不一致 Setting所有涉及java版本的均改为现有版本(例如1.8,里面有的显示8) Project Modules Library SDKS Project structure Java compiler 中project bytecode version 和traget bytecode version 均要设置正确的java版本 Maven版本设置 Project Structure 查找maven 设置maven home directory和Using Se
[USACO19JAN]Cow Poetry
题面 Solution: 这是一道很好的dp题。 一开始看不懂题面没有一点思路,看了好久题解才看懂题目... \(y[i]\) 为第 \(i\) 个词结尾,\(l[i]\) 为第 \(i\) 个词长度。 设状态 \(f[i][j]\) 为长度为 \(i\) 的,以 \(j\) 结尾的一句诗的方案数,那么 \[ f[i][Y] = \sum_{y[i]=Y}\sum_{x=1}^{n}f[i-l[j]][x] \] 发现后面那一坨可以预处理,设 \[ g[i]=\sum_{x=1}^nf[i][
一本通1639Biorhythms
1639:Biorhythms 时间限制: 1000 ms 内存限制: 524288 KB 【题目描述】 原题来自:POJ 1006 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为 23 天、28 天和 33 天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集中。因为三个周期的周长不同,所以通常三个周期的高峰不会落在同一天。对于每个人,我们想知道何时三个高峰落在同一天。对于每个周期,我们会给出从当前年份的
HashSet存储过程中如何排除不同的自定义对象?
HashSet HashSet存储过程中如何排除不同的自定义对象? 先看一个小demo public class Demo1 {
public static void main(String[] args) {
//Person4类是一个失血模型,它有姓名和年龄两个属性
HashSet<Person4> set = new HashSet<>();
set.add(new Person4("张三", 23));
set.a
这些大家所熟知的网络安全策略,其实并不安全
这些大家所熟知的网络安全策略,其实并不安全 本文以从事网络安全多年的角度来看,总结一些常见的网络安全对应策略分析,当然如果有一些概念错误或其他误导。欢迎大家指正。先说一些错误的概念: 1. 对于企业而言,信息安全是技术人员的工作。 普通员工如果不注重安全很容易被突破。内网安全往往是由非技术人员的疏忽造成的。 某巨头互联网公司内网曾因某员工不安全的电脑导致ARP欺骗,导致内网dns解析遭受感染,在内网正常电脑的正常用户的访问本公司网址居然被转移到木马网址。. 某信息安全上
登录页面跳转与错误提示信息
---恢复内容开始--- //主界面信息的处理 package day13; import java.io.IOException; import java.sql.SQLException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.Ht
Struts2和SpringMVC的action是单例还是原型的?
struts2的acion单独使用的时候应是多例的,也就是原型(prototype)。 因为它是基于类开发的,它的三种获取页面传参的方式都是通过成员变量的方式来接受的。 如果用struts2框架基于方法的形式进行开发(一个方法对应一个请求处理的话),那么意味着这多个方法都可以共享成员变量。这时候,那么就可能会出现并发问题:不同的请求对同一个实例中的成员变量一起操作,出现数据安全问题。比如前一个人的密码可能被后面的人看到,提交的数据被修改等。 这就是为什么struts2为什么是多例的原因。 值得
程序控制结构--案例
精彩案例 输入若干个成绩,求所有成绩的平均值分,每输入一个成绩后询问是否继续输入下一个成绩,回答yes就继续输入下一个成绩,回答no就停止输入成绩 scores = [] while True: x = input('请输入第{0}个成绩:'.format(len(scores)+1)) try: scores.append(float(x)) except: print('非法数据!') while True: flag = input('继续输入吗?(yes/no)') if flag.l
设计模式之观察者模式-以jdk实现为例
一、jdk观察者模式实现代码分析: 1、Observable-被观察者(主题) package java.util;
public class Observable {
private boolean changed = false;
private Vector<Observer> obs;
//无参的构造函数
public Observable() {
//初始化一个观察者的集合
obs = new Vector
URI 和URL分别指什么? URL和URI的区别
URL和URI的区别 String HttpServletRequest.getRequestURI() 和StringBuffer HttpServletRequest.getRequestURL() 返回的内容有何不同?为什么会如此? 首先,URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。而URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何l
(二) JavaSE之注释
一 注释(comment) 用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性; 注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现。 二 Java中的注释类型 1) 单行注释 格式: //注释文字 以两个/开头后面跟要注释掉的文字,只注释掉当前行; 2) 多行注释 格式:/* 注释文字 */ 以/* 开始,以*/结束,中间部分是要注释的内容 3) 文档注释 (java特有) 注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文
%.*f (特殊的输出符)
c语言中每一种数据类型都有自己的专属占位符,如整型的%d,浮点型的%f等,而*也是一个占位符,比较特殊而已。 比如输入一个n,输出0.5的n次方,就可以这么写 #include<bits/stdc++.h>
using namespace std;
int main() {
int n;
scanf("%d",&n);
printf("%.*f\n",n,pow(0.5,n));
}
crc16 ccitt 单片机与java匹配算法
/*
* Description :提供CRC16校验函数采用CRC16-CCITT
*多项式为 x^16 + x^12 + x^5 + 1
*/
//CRC16-CCITT查找表
const unsigned short crc16_table[256] =
{
0x0000,0x1021,0x2042,0x3063,0x4084,0x50a5,0x60c6,0x70e7,
0x8108,0x9129,0xa14a,0xb16b,0xc18c,0xd1ad,
今日推荐
周排行