RED

Java开发人员犯的10大错误

心已入冬 提交于 2020-08-06 08:55:25
目录 一、将数组转换为ArrayList 二、检查数组是否包含值 三、从循环内的列表中删除元素 四、HashTable 与 HashMap 五、使用原始集合类型 六、访问权限 七、ArrayList与LinkedList 八、可变与不可变 九、Super 和 Sub的构造函数 十、还是构造函数 一、将数组转换为ArrayList 要将数组转换为 ArrayList ,开发人员通常会这样做: List<String> list = Arrays.asList(arr); Arrays.asList() 将返回 ArrayList 私有 静态类 的 Arrays ,而不是 java.util.ArrayList 类。该 java.util.Arrays.ArrayList 有 set() , get() , contains() 方法,但 没有添加元素的任何方法 ,所以它的大小是固定的。要创建一个 real ArrayList ,您应该执行以下操作: ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr)); 构造函数 ArrayList 可以接收 Collection类型,它也是超类型 java.util.Arrays.ArrayList 。 二、检查数组是否包含值 开发人员经常这样做: Set

《Erlang程序设计》第五章 顺序型编程进阶

╄→гoц情女王★ 提交于 2020-08-06 07:49:26
第五章 顺序型编程进阶 Table of Contents 第五章 顺序型编程进阶 5.1 BIF 5.2 二进制数据 5.3 比特语法 5.3.1 16bit色彩的封包与解包 5.3.2 比特语法表达式 5.3.3 高级比特语法样例 5.4 小问题集锦 5.4.1 apply 5.4.2 属性 5.4.3 块表达式 5.4.4 布尔类型 5.4.5 布尔表达式 5.4.6 字符集 5.4.7 注释 5.4.8 epp 5.4.9 转义符 5.4.10 表达式和表达式序列 5.4.11 函数引用 5.4.12 包含文件 5.4.13 列表操作符++和-- 5.4.14 宏 5.4.15 在模式中使用匹配操作符 5.4.16 数值类型 5.4.17 操作符优先级 5.4.18 进程字典 5.4.19 引用 5.4.20 短路布尔表达式 5.4.21 比较表达式 5.4.22 下划线变量 第五章 顺序型编程进阶 5.1 BIF BIF:Erlang的内建函数, 默认已经导入, 可以直接使用。 相关文档参见: http://erlang.org/doc/man/erlang.html 5.2 二进制数据 书写和打印时二进制数据以整数或字符序列包在''和' '之间的形式出现。 相比于元组和列表, 二进制更节省内存, 且因系统已对其进行了优化, 使得二进制数据的输入输出更加高效。 list

Newtonsoft 六个超简单又实用的特性,值得一试 【上篇】

允我心安 提交于 2020-08-06 06:54:37
一:讲故事 看完官方文档,阅读了一些 Newtonsoft 源码,对它有了新的认识,先总结 六个超经典又实用的特性,同大家一起分享,废话不多说,快来一起看看吧~~~ 二:特性分析 1. 代码格式化 如果你直接使用 JsonConvert.SerializeObject 的话,默认情况下所有的json是挤压在一块的,特别不方便阅读,如下所示: static void Main(string[] args) { var reportModel = new ReportModel() { ProductName = "法式小众设计感长裙气质显瘦纯白色仙女连衣裙", TotalPayment = 100, TotalCustomerCount = 2, TotalProductCount = 333 }; var json = JsonConvert.SerializeObject(reportModel); System.Console.WriteLine(json); } } public class ReportModel { public string ProductName { get; set; } public int TotalCustomerCount { get; set; } public decimal TotalPayment { get; set; }

一段代码说清 NLS_DATE_FORMAT 在 PL/SQL 中的作用

穿精又带淫゛_ 提交于 2020-08-06 06:52:20
DECLARE l_Cursor_Num INTEGER ; l_Date DATE ; l_Date_Char VARCHAR2 ( 20 ); BEGIN EXECUTE IMMEDIATE q '?ALTER SESSION SET NLS_DATE_FORMAT = ' YYYY - MM - DD '?' ; l_Date := '2020-06-17' ; -- PLSQL 中的隐式转换:字符 -> 日期 l_Date_Char := SYSDATE ; -- PLSQL 中的隐式转换:日期 -> 字符 l_Cursor_Num := Dbms_Sql.Open_Cursor (); Dbms_Sql.Parse ( l_Cursor_Num , 'SELECT :T_SELECT_DATE D FROM DUAL WHERE TRUNC(SYSDATE) = :T_WHERE_DATE' , -- SQL 条件中的隐式转换:字符 -> 日期 Dbms_Sql.Native ); Dbms_Sql.Bind_Variable ( l_Cursor_Num , ':T_SELECT_DATE' , l_Date ); Dbms_Sql.Bind_Variable ( l_Cursor_Num , ':T_WHERE_DATE' , l_Date_Char ); Dbms

JavaScript DOM 控制CSS

拈花ヽ惹草 提交于 2020-08-06 05:36:57
JavaScript 更改P元素的样式: 1.<html> 2.<body> 3.<p id="p2">Hello World!> 4.<script> 5.document.getElementById("p2").style.color = "red"; 6.</script> 7.<p>The paragraph above was changed by a script.</p> 8.</body> 9.</html> 单击按钮时,此示例更改id="id1"元素的样式: 1.<!DOCTYPE html> 2.<html> 3.<body> 4.<h1 id="id1">My Heading 1</h1> 5.<button type="button" 6.onclick="document.getElementById('id1').style.color = 'blue'"> 7.点击我!> 8.</body> 9.</html> 来源: oschina 链接: https://my.oschina.net/u/4263894/blog/4455870

再也不用为跨域而苦恼

∥☆過路亽.° 提交于 2020-08-06 04:35:50
前言 最近没时间写博客,只好把以前写的博客整理到自己的博客网站上去 跨域 跨域解决的方案有好几种,熟练掌握 CORS 就行了,并晓得一些原理。 jsonp 基本告别了,了解即可。 将前端的域与后端保持一致就行了,通过 nginx 代理转发。 什么情况下会跨域呢? 跨域是指从一个源去请求另一个源的资源,浏览器基于完全考虑并遵循同源策略,禁止跨域访问。 但是我们可以通过一些手段 JSONP 或者 CORS 来实现跨域。 <font color=red>跨域只会发生在浏览器中,后端服务之间的接口调用是没有跨域一说的。</font> 简单理解:当 url 中的协议/域名/端口不同时,就产生了跨域。 跨域的解决方案? nginx 反向代理,将请求的接口全部转发就行了 jsonp cors nginx 反向代理解决跨域 location /api { proxy_pass http://192.168.202.50:8082/; } 匹配 url 中以 /api 开头的路径 http://192.168.202.50:8081/api --> http://192.168.202.50:8082 http://192.168.202.50:8081/api/users/2 --> http://192.168.202.50:8082/users/2 来自 8081 的页面请求了 /api

CentOS 8上安装GCC实现开发编译功能

穿精又带淫゛_ 提交于 2020-08-06 04:30:33
GNU Compiler Collection (GCC)是由C、C++、Objective-C、Fortran、Ada、Go和D等编程语言的编译器和库组成,很多开源项目,包括 Linux 内核和GNU工具,都是用GCC编译的。 CentOS 默认资源库中包含一个名为"开发工具"的软件包组,其中包括 GNU 编译器集合、GNU 调试器以及其他编译软件所需的开发库和工具。 安装GCC与配置GCC 要安装GCC开发工具包,必须要以root或具有sudo权限的用户身份运行以下 命令 ,我这里是以root用户的身份执行 命令 安装的,具体安装如下: 安装开发工具组 [root@ece2cd92dada ~]# dnf group install "Development Tools" 以上命令安装了很多软件包,包括gcc、g++和make 安装开发工具手册 [root@ece2cd92dada ~]# dnf install man-pages 验证GCC是否安装成功 [root@ece2cd92dada ~]# gcc --version gcc (GCC) 8.3.1 20190507 (Red Hat 8.3.1-4) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the

Fedora 33 开始测试切换到 Btrfs | Linux 中国

空扰寡人 提交于 2020-08-06 04:00:27
在所有其他 Fedora 33 接受的系统范围的更改中,最有趣的提议是将 Btrfs 作为桌面的默认文件系统,这个提议现在已经被批准了。 来源: https:// linux.cn/article-12455- 1.html 作者:Ankush Das 译者:geekpi (本文字数:1728,阅读时长大约:2 分钟) 尽管距离 Fedora 的下一个稳定版本( Fedora 33 )还有几个月的距离,但仍有一些值得关注的变化。 在所有其他 Fedora 33 接受的系统范围的更改 中,最有趣的提议是将 Btrfs 作为桌面的默认文件系统,这个提议现在已经被批准了。 这是 Fedora 对该提案的评价: 对于安装 Fedora 的笔记本电脑和工作站,我们希望以透明的方式向用户提供文件系统功能。我们希望添加新功能,同时减少处理磁盘空间不足之类的情况所需的专业知识。Btrfs 它的设计理念非常适合这个角色,让我们将其设为默认设置。 值得注意的是,在测试的最终投票结果出来之前,这不是系统范围内的更改。 但是,现在测试已经成功完成,投票结果也是赞成的 —— Fedora 33 版本已经接受了这个改动。 那么,为什么 Fedora 提出这一更改?这会有什么用么?这是糟糕的举动吗?对 Fedora 的发行有何影响?让我们在这里谈论下。 它会影响哪些 Fedora 版本? 根据提议,如果测试成功

Python笔记:使用matplotlib,seaborn,plotly,pyecharts绘制同一种图形

|▌冷眼眸甩不掉的悲伤 提交于 2020-08-05 22:27:58
我分别用 matplotlib, seaborn, plotly, pyecharts 这4个库来绘制同一种图形 ① matplotlib import matplotlib matplotlib.__version__ # '2.2.2' import matplotlib.pyplot as plt # import matplotlib as mp1 # 显示中文 plt.rcParams["font.sans-serif"] = [u"SimHei"] # mp1.rcParams["font.family"] = "STFangsong" # plt.rcParams["axes.unicode_minus"] = False # 在线显示matplotlib作出来的图形 %matplotlib inline plt.plot(["周一","周二","周三","周四","周五","周六","周日"], [1, 1.5, 4, -1.2, 0.8, 2.3, -2] ,c='red') plt.bar(["周一","周二","周三","周四","周五","周六","周日"], [2, 3, -1.5, -1.04, 4.2, 3,0.5] ) plt.show() # 保存图片 # plt.savefig(r"C:\Users\QDM\Desktop\混合图.jpg") #

jmeter5.0生成html报告 快速入门

不打扰是莪最后的温柔 提交于 2020-08-05 18:18:33
JMeter性能测试5.0时代之-多维度的图形化HTML报告 快速入门 1.确认基本配置 在jmeter.properties或者user.properties确认如下配置项: jmeter.save.saveservice.bytes = true jmeter.save.saveservice.label = true jmeter.save.saveservice.latency = true jmeter.save.saveservice.response_code = true jmeter.save.saveservice.response_message = true jmeter.save.saveservice.successful = true jmeter.save.saveservice.thread_counts = true jmeter.save.saveservice.thread_name = true jmeter.save.saveservice.time = true # the timestamp format must include the time and should include the date. # For example the default, which is milliseconds since the epoch: