java安全编码指南之:基础篇

作为一个程序员,只是写出好用的代码是不够的,我们还需要考虑到程序的安全性。在这个不能跟陌生人说话世界,扶老奶奶过马路都是一件很困难的事情。那么对于程序员来说,尤其是对于开发那种对外可以公开访问的网站的程序员,要承受的压力会大很多。任何人都可以访问我们的系统,也就意味着如果我们的系统不够健壮,或者有些漏洞,恶意攻击者就会破门而入,将我们辛辛苦苦写的程序蹂躏的体无完肤。所以,安全很重要,今天本文将会探讨一下java中的安全编码指南。
分类: 其他 发布时间: 09-11 10:53 阅读次数: 0

java安全编码指南之:拒绝Denial of Service

DOS不是那个windows的前身,而是Denial of Service,有做过系统安全方面的小伙伴可能对这个再熟悉不过了,简单点讲,DOS就是服务型响应不过来,从而拒绝了正常的服务请求。今天本文不是要讲怎么发起一个DOS攻击,而是讲一下怎么在java的代码层面尽量减少DOS的可能性。
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

巧用HashMap一行代码统计单词出现次数

JDK是在一直在迭代更新的,很多我们熟悉的类也悄悄的添加了一些新的方法特性。比如我们最常用的HashMap。今天给大家讲一下HashMap在JDK8中添加的两个新方法compute和merge,从而实现一行代码实现单词统计的功能。一起来看看吧。
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

看动画学算法之:二叉堆Binary Heap

我们坐在高高的谷堆旁边,听妈妈讲那过去的事情。听到了堆,我就想起了这首歌。没错,今天我们要介绍一个堆,这个堆叫做二叉堆。二叉树我们之前讲过了,就是每个节点最多有两个子节点的树叫做二叉树。而二叉堆Binary Heap是一种特殊的二叉树。
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

java安全编码指南之:Mutability可变性

文章目录简介可变对象和不可变对象创建mutable对象的拷贝为mutable类创建copy方法不要相信equals不要直接暴露可修改的属性public static fields应该被置位finalpublic static final field 应该是不可变的简介mutable(可变)和immutable(不可变)对象是我们在java程序编写的过程中经常会使用到的。可变类型对象就是说,对象在创建之后,其内部的数据可能会被修改。所以它的安全性没有保证。而不可变类型对象就是说,对象一旦创建之后,其内
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

java安全编码指南之:表达式规则

文章目录简介注意表达式的返回值注意避免NullPointerException数组相等的判断基础类型的封装类间的比较集合中类型不匹配Asset的副作用简介在java编写过程中,我们会使用到各种各样的表达式,在使用表达式的过程中,有哪些安全问题需要我们注意的呢?一起来看看吧。注意表达式的返回值我们在使用JDK库的时候,一定要注意认真的读一下JDK中方法的含义和它的返回值。有些返回值可能表示这个操作是否成功,有的返回值可能是方法操作的结果。我们看两个常见的例子: public void del
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

看动画学算法之:线段树-segmentTree

文章目录简介最小线段树线段树的构建线段树的搜索线段树的更新线段树的复杂度简介什么是线段树呢?线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。线段树的每个节点都表示一个区间,而根据线段树的不同特征,线段树的节点值可以表示这个区间里的最小值,最大值或者sum值等等。最小线段树下面我们以最小线段树为例来说明一下线段树的特性:如果原始数据是一个数组,我们也以数组来表示线段树。假设生成的线段树的起点index=1,并且对线段树中的每个非叶子节
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

如何使用华为机器学习服务和Kotlin实现语音合成

1. 引言  你曾遇到过这种情况吗?一本小说太长,要花很长时间阅读,但如果有app能自动为你阅读,就会省时很多。因此,将文本转换成语音的工具应运而生。华为机器学习服务(HUAWEI ML Kit)具备语音合成(Text To Speech, TTS)功能,能让app快速实现从文本到语音的转换。TTS可以将文本转换成人声。这也可以通过默认方法实现,但这些方法不能提供自然或真实的声音。TTS服务全球通用,利用深度神经网络对文本进行处理,从而创造出自然的声音,同时也支持多种音色,以增强人声效果。TTS使用了云服
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

推送开发实战:APP如何实现跟随用户不同场景,实现不同的内容推荐

  对于应用来说,借助推送能力进行用户促活尤其重要。但是常规的推送方式,往往很难把握当前用户场景和实际需求,消息到达用户手机,却没法真正引起用户注意。这其中有一个原因是消息出现在用户设备时,运营人员无法准确知道用户当前的状态,很难做到投其所好。而这种盲推的推送方式,往往事倍功半,甚至招致用户厌烦。是否有办法可以了解用户当前的一些状态信息,做到定制化的推送呢?  华为推送5.0 新增的基于用户场景的智能推送,便是为了解决这一运营痛点。通过识别不同的用户状态,在合适的时机和场景下,向用户展示内容,从而真正的投
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

时势下的HMS和GMS的前世今生——前生篇

致各位互联网安卓应用开发者的一封信:  我是大菊厂消费者BG HMS云服务安全工程部运营喵一枚,学名“安全运营喵酱”,受邀在开发者社区论坛HMS Core发布自己对HMS VS GMS 的一点思考,主要作为事件的亲身经历着,有感于华为消费者BG内部的快速变革,从营销、商业模式、竞争等多维视角,力图从亲厉者的视角记录这场史无前例商业生态战中我司冷静、客观、有序的演进,同时肩负起运营岗大喵的职责:Look far and do the right thing. (当然这是一只有个性的运营喵自己的看法,大家可忽
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

时势下的HMS和GMS前世今生——今生篇之三问突破口

  谢HMS Core总体组运营邀请,分享个人的一些观点。  关于HMS突破口的讨论已有多名技术、营销专家、同事在内部掀起热烈讨论,虽然HMS和GMS的前世今生—— 前世篇整合了一些思考,但构建移动生态是个宏大命题,且业界并无无成熟案例,开放式命题下,探索式发问有益于深入问题。  本篇旨在回答三个问题,打移动服务硬仗背后在打什么?既然要打,双方的优势和劣势在哪里?当前局势下我司的关注点?建立在调研基础上,有了中篇《HMS和GMS——今生篇之三问突破口》,以期共同探讨。第一部分:移动服务硬仗背后究竟在打
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

分阶段发布,让版本升级更平稳

  对于开发者,当有大特性或者更新功能较多的版本上线时,往往很忐忑,不确定用户的反馈如何,此时就希望能先在小范围发布,根据用户的反馈,再决定是否全网放开。华为快应用分阶段发布功能,能满足您的需求。什么是分阶段发布?  分阶段发布可以在一段时间内,使上架的新版本仅面向一定比例用户开放,您可以在这段时间内,收集用户对新版本的反馈,以便衡量版本的质量,决策是否向全网开放。以前:版本发布后即面向全网用户开放,一旦存在问题,影响范围将非常大。现在:版本先面向小范围用户开放,如果用户反馈问题比较多,可以终止此
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

兼容性自动化测试 | HUAWEI DevEco Studio云测服务等您来体验

  HUAWEI DevEco Studio云端服务平台(https://devecostudio.huawei.com/)支持原生应用、混合应用、游戏类应用自动化兼容性测试,提供华为最新最全真机资源,多台并行测试,随时在线使用便捷,协助开发者定位应用在手机上的兼容性问题。关于兼容性测试服务流程  执行测试平均时长约10-15分钟,若错过高峰期测试可以更快。关于兼容性测试项  兼容性测试拥有十一类应用测试项如安装、卸载再安装、卸载、启动、崩溃、无响应、黑白屏、闪退、运行错误、无法回退、U.
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

告别硬编码与埋点长周期, DTM为数字营销注入新活力

  伴随数字营销市场的迅猛发展,广告归因平台、分析工具越来越多,不同的媒体代理平台都有它们独立的标签,同时,企业对数据的需求越来越复杂、营销策略变化更快,如果依赖传统的硬编码方式,效率和敏捷性大打折扣。这时,就需要一个标签管理系统(Tag Manager System)来帮助企业灵活的管理数量庞大的标签,华为动态标签管理器Dynamic Tag Manager(以下简称“DTM”)应运而生。  目前,作为一个免费的动态标签管理系统(Tag Manager System),营销人员可以通过其友好的用户界面动
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

超简单集成华为HMS ML Kit文本识别SDK,一键实现账单号自动录入

前言  在之前的文章《超简单集成华为HMS Core MLKit通用卡证识别SDK,一键实现各种卡绑定》中我们给大家介绍了华为HMS ML Kit通用卡证识别技术是如何通过拍照自动识别卡证上的关键信息从而实现绑卡,那么有的小伙伴可能会问,我想识别账单上的单号信息或者折扣券上的折扣信息可以吗?当然可以啦。在这篇文章里小编将给大家演示HMS ML Kit文本识别技术是怎么实现账单号或者折扣代码自动录入的。应用场景  文本识别技术的应用场景非常多。比如说扫描下面这张账单,定义账单服务号的开头是“NO.DE
分类: 其他 发布时间: 09-11 10:52 阅读次数: 0

迭代器模式在开源代码中的应用

迭代器模式的作用:提供一种方法来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。案例迭代器模式最经典的应用就是 JDK 中工具类 Iterator 接口的设计,定义了对集合的访问方法。public interface Iterator<E> { boolean hasNext(); E next(); default void remove() { throw new UnsupportedOperationException(remove);.
分类: 企业开发 发布时间: 09-11 10:52 阅读次数: 0

Redis分布式锁的正确姿势

前言:随着互联网的发展,单体web应用已无法满足业务的需求,随之而来的是微服务,再加上分布式部署,带来的是各种问题,个个服务在不同的进程,当对同一资源进行修改时就会发生线程安全问题,特别是在电商活动(抢优惠券、下单等业务场景),记录一下自己探索分布式锁的过程一、单机redis下基于jedis分布式锁 1、环境: redis-server: redis-6.0.3 、 redis-client: jedis 2.9.1、springboot :2.1.3 2、创...
分类: 企业开发 发布时间: 09-11 10:52 阅读次数: 0

win7环境下利用shift粘滞键漏洞获得用户密码(图文步骤)

在win7种本地利用shift五次粘滞键功能获得密码1、在未登录系统时,连续按5次shift键,弹出程序c:\\windows\\system32\\sethc.exe2、部分win7及win10系统在未进入系统时,可以通过系统修复漏洞篡改系统文件名!注:如win7或win10系统已修补漏洞2,则无法利用1.2破解过程相关知识1、cmd工具路径c:\\windows\\system32\\cmd2、用户/账户密码存储位置c:\\windows\\system32\\config\\SAM # 非逆转型加密、使用
分类: 企业开发 发布时间: 09-11 10:52 阅读次数: 0

「信息安全-密码与隐藏技术」凯撒密码与仿射密码 (CPP 实现)

凯撒密码凯撒密码就是简单移位,注意负数取模的情况就好了。#include<bits/stdc++.h>using namespace std;const int mod = 26;int k;string str;// 解密函数string decryptionFunction(string eCode){ string dCode = ; for(int i=0;i<eCode.length();i++){ int n = eCode.
分类: 企业开发 发布时间: 09-11 10:52 阅读次数: 0

java多线程面试点

Java多线程面试点线程和进程线程和进程关系和差别,优缺点为什么线程的程序计数器是私有的线程共享的堆和方法区作用并发和并行的区别多线程的必要性多线程可能存在的问题线程的各种状态什么是上下文切换死锁的产生和避免sleep()和wait()方法区别和共同点线程启动为什么用start()而不用run()对sychrnized关键字的看法线程和进程进程进程就是程序执行的一次过程。一般代码文件存在磁盘,用.exe文件结束。系统运行一个程序就是进程的创建,运行和消亡的过程。在java中我们执行main方法其实就是
分类: 企业开发 发布时间: 09-11 10:52 阅读次数: 0