Entry

Easy Digital Downloads 免费主题Vendd

℡╲_俬逩灬. 提交于 2020-10-04 00:41:40
Vendd is a full-featured marketplace theme for Easy Digital Downloads, supporting extensions, and other handy WordPress plugins. Built and designed by the EDD team, Vendd’s top priority is to help store owners get the most out of the EDD ecosystem. Vendd Features Vendd finds the perfect balance between giving you the options you need without overwhelming you with possibilities. Vendd’s features include (but are not limited to): Design options like theme colors, a logo uploader, and site background customization built directly into the theme customizer Choose between page-width or full-width

查看jar包下java类,查看java类在那个jar包

扶醉桌前 提交于 2020-10-04 00:37:30
这两个工具的作用: 找某个jar包下某个class某个方法 查看java类在那个jar包下。 解决:服务器上java程序报错:ClassNotFoundException,NoClassDefFoundError下边有补充解析。 只需要依赖jdk,直接复制这个类去某个机器上跑一下就可以,方便快捷 查看java类在那个jar包 java添加classpath linux示例:添加 -classpath xxx/xxx.jar:xxx/xxx.jar 如果是windows用;分割,如果是mac和linux用:分割 java编译 javac -d . xxx.java 点代表当前目录如果没报名可以不加-d . 示例 javac -d . Test.java 运行 java com.dxz.chama.javaagent.asm.Test 如果添加class资源运行 java -classpath xxx/xxx.jar:xxx/xxx.jar com.dxz.chama.javaagent.asm.Test package com.dxz.chama.javaagent.asm; import java.net.URL; /** * description: 查找某个类在那个jar包下 * * @author: he QQ: 905845006 * @email: 905845006

Dubbo 高危漏洞!原来都是反序列化惹得祸

巧了我就是萌 提交于 2020-10-03 18:06:39
前言 这周收到外部合作同事推送的一篇文章, 【漏洞通告】Apache Dubbo Provider默认反序列化远程代码执行漏洞(CVE-2020-1948)通告 。 按照文章披露的漏洞影响范围,可以说是当前所有的 Dubbo 的版本都有这个问题。 无独有偶,这周在 Github 自己的仓库上推送几行改动,不一会就收到 Github 安全提示,警告当前项目存在安全漏洞 CVE-2018-10237 。 可以看到这两个漏洞都是利用反序列化进行执行恶意代码,可能很多同学跟我当初一样,看到这个一脸懵逼。好端端的反序列化,怎么就能被恶意利用,用来执行的恶意代码? 这篇文章我们就来聊聊反序列化漏洞,了解一下黑客是如何利用这个漏洞进行攻击。 先赞后看,养成习惯!微信搜索『程序通事』,关注就完事了! 反序列化漏洞 在了解反序列化漏洞之前,首先我们学习一下两个基础知识。 Java 运行外部命令 Java 中有一个类 Runtime ,我们可以使用这个类执行执行一些外部命令。 下面例子中我们使用 Runtime 运行打开系统的计算器软件。 // 仅适用macos Runtime.getRuntime().exec("open -a Calculator "); 有了这个类,恶意代码就可以执行外部命令,比如执行一把 rm /* 。 序列化/反序列化 如果经常使用 Dubbo,Java

Java面试常问集合框架22道面试真题(详解)

∥☆過路亽.° 提交于 2020-10-03 14:00:53
简介 集合框架:用于存储数据的容器。 集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。 任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。 接口 :表示集合的抽象数据类型。接口允许我们操作集合时不必关注具体实现,从而达到“多态”。在面向对象编程语言中,接口通常用来形成规范。 实现 :集合接口的具体实现,是重用性很高的数据结构。 算法 :在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找、排序等。这些算法通常是多态的,因为相同的方法可以在同一个接口被多个类实现时有不同的表现。事实上,算法是可复用的函数。 它减少了程序设计的辛劳。 集合框架通过提供有用的数据结构和算法使你能集中注意力于你的程序的重要部分上,而不是为了让程序能正常运转而将注意力于低层设计上。 通过这些在无关API之间的简易的互用性,使你免除了为改编对象或转换代码以便联合这些API而去写大量的代码。它提高了程序速度和质量。 Java 集合框架图如下: 面试解析 1.ArrayList 和 Vector 的区别。 这两个类都实现了 List 接口(List 接口继承了 Collection 接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是HashSet

遍历Map的方式

有些话、适合烂在心里 提交于 2020-10-03 12:33:05
遍历Map的方式 第一种通过 map1.keySet() 获取key 通过key 找到value; 第二种通过Map.Entry(String,Integer) 获取,然后使用entry.getKey()获取到键,通过entry.getValue()获取到值; 第三种只遍历键或者值,通过加强for循环; 第四种Iterator遍历获取,然后获取到Map.Entry<String, String>,再得到getKey()和getValue(); 实现如下: package com.blmlove; import java.util.* ; public class Test { public static void main(String[] args) { // 遍历Map Map<String, Integer> map1 = new HashMap<String, Integer> (); map1.put( "jack", 20 ); map1.put( "rose", 18 ); map1.put( "lucy", 17 ); map1.put( "java", 25 ); // 第一种通过 map1.keySet() 获取key 通过key 找到value for (String key : map1.keySet()) { Integer value = map1

Java集合-Map

断了今生、忘了曾经 提交于 2020-10-03 12:03:03
Map集合 特点 双列集合<K,V> Key 和 Value一一对应 K不允许重复,V可以重复 K,V的数据类型可以相同,也可不同 常用方法 方法 描述 V put(K key, V value) 将指定的值与该映射中的指定键相关联(可选操作)。 V remove(Object key) 如果存在(从可选的操作),从该地图中删除一个键的映射。 V get(Object key) 返回到指定键所映射的值,或 null如果此映射包含该键的映射。 boolean containsKey(Object key) 如果此映射包含指定键的映射,则返回 true 。 Set keySet() 返回此地图中包含的键的Set视图。 Set<Map.Entry<K,V>> entrySet() 返回此地图中包含的映射的Set视图。 内部接口:Entry<K,V> 作用:当Map集合创建,就会创建一个Entry对象,用来存储键值对。 测试代码 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /** * 测试Map集合的常用方法 * add、remove、get、containKey、keySet、entrySet */ public class TestMap

关于三方apk dump raw数据的的权限开启

时光毁灭记忆、已成空白 提交于 2020-10-03 11:44:59
关于三方apk支持开启dump raw的权限的修改; 主要的修改点涉及到一下几个问题: 1。需在/device/vendor name/项目命名/android.hardware.camera.xml的文件中将feature 的raw的权限打开; 增加: 改设置其实上是原本就需要打开的,但是在目前的项目上为了 过cts将此feature关闭掉了; 2.在vendor/mediatek/proprietary/custom/common/hal/imgsensor_metadata/common/config_static_XXXM_sensor_metadata_scaler.h中换配置关于配置具体是几M的sensor的raw的相应配置数据。 CONFIG_ENTRY_VALUE(HAL_PIXEL_FORMAT_RAW16, MINT64) CONFIG_ENTRY_VALUE(XXX(驱动中配置的capsize.W), MINT64) CONFIG_ENTRY_VALUE(XXX(驱动中配置的capsize.H), MINT64) CONFIG_ENTRY_VALUE(MTK_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, MINT64) CONFIG_ENTRY_VALUE(50000000, MINT64) // frame

Java基础教程之MAP集合

我们两清 提交于 2020-10-03 07:49:38
  1.1概述   现实生活中,咱们常会看到这样的一种调集:IP地址与主机名,身份证号与个人,体系用户名与体系用户目标等,这种一一对应的联系,就叫做映射。Java供给了专门的调集类用来存放这种目标联系的目标,即java.util.Map接口。   咱们经过检查Map接口描述,发现Map接口下的调集与Collection   接口下的调集,它们存储数据的办法不同,如下图。   Collection中的调集,元素是孤立存在的(理解为单身),向调会集存储元素选用一个个元素的办法存储。   Map中的调集,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,经过键能够找对所对应的值。   Collection中的调集称为单列调集,   Map中的调集称为双列调集。   需求注意的是,Map中的调集不能包括重复的键,值能够重复;每个键只能对应一个值。   1.2Map的常用子类   经过检查Map接口描述,看到Map有多个子类,这里咱们首要解说常用的HashMap调集、LinkedHashMap调集。   HashMap:存储数据选用的哈希表结构,元素的存取顺序不能确保共同。因为要确保键的仅有、不重复,需求重写键的hashCode()办法、equals()办法。LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据选用的哈希表结构+链表结构

gdb命令调试技巧

徘徊边缘 提交于 2020-10-03 06:34:40
gdb命令调试技巧 一、信息显示 1、显示gdb版本 (gdb) show version 2、显示gdb版权 (gdb) show version or show warranty 3、启动时不显示提示信息gdb -q exe 或者.bashrc 添加alias gdb="gdb -q",重启shell 4、退出时不显示提示信息(gdb) set confirm off 5、输出信息多时不会暂停输出(gdb)set pagination off 二、函数 1、列出函数的名字(gdb) info functions 2、是否进入待调试信息的函数(gdb)step s 3、进入不带调试信息的函数(gdb)set step-mode on 4、退出正在调试的函数(gdb)return expression 或者 (gdb)finish 5、直接执行函数(gdb)start 函数名 call函数名 6、打印函数堆栈帧信息(gdb)info frame or i frame 7、查看函数寄存器信息(gdb)i registers 8、查看函数反汇编代码(gdb)disassemble func 9、打印尾调用堆栈帧信息(gdb)set debug entry-values 1 10、选择函数堆栈帧(gdb)frame n 11、向上或向下切换函数堆栈帧(gdb)up n down n 三

sentry 配置 X-FORWARDED-FOR 作为真实 ip

孤街浪徒 提交于 2020-10-03 03:41:21
nginx 配置 http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; #set_real_ip_from 127.0.0.1; #real_ip_header X-Forwarded-For; #real_ip_recursive on; proxy_set_header Host $host; proxy_set_header X-Client-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X