精华内容
下载资源
问答
  • setAccessible(true)用法及意义

    千次阅读 2020-02-04 21:26:17
    实际开发中,setAccessible具体的用处主要有两处: 作用于方法上,method.setAccessible(true); public static void test02() throws Exception{ User u = new User(); Class clazz = u.getClass(); Method...

    实际开发中,setAccessible具体的用处主要有两处:

    作用于方法上,method.setAccessible(true);

    public static void test02() throws Exception{
    		User u = new User();
    		Class clazz = u.getClass();
    		Method m = clazz.getDeclaredMethod("getUname", null);
    		m.setAccessible(true);
    		m.invoke(u, null);	
    	}

    作用于属性上,field.setAccessible(true);

    if (field.isAnnotationPresent(TestIdSign.class)){
                try {
                    field.setAccessible(true);
                    field.set(object,testId);
                } catch (IllegalAccessException e) {
                    throw new RuntimeException("set testID illegalAccessException",e);
                }
            }

    将此对象的 accessible 标志设置为指示的布尔值。值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查。值为 false 则指示反射的对象应该实施 Java 语言访问检查;实际上setAccessible是启用和禁用访问安全检查的开关,并不是为true就能访问为false就不能访问 ;

    由于JDK的安全检查耗时较多.所以通过setAccessible(true)的方式关闭安全检查就可以达到提升反射速度的目的 

    如下例子:参考(http://huoyanyanyi10.iteye.com/blog/1317614

    package com.chenshuyi.test;
    
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    
    public class Main {
        public static void main(String[] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException,
                IllegalAccessException, InvocationTargetException {
            Method m = A.class.getDeclaredMethod("getName", new Class[] {});
            System.out.println(m.isAccessible());
            // getName是public的,猜猜输出是true还是false
    
            A a = new A();
            a.setName("Mr Lee");
            long start = System.currentTimeMillis();
            for (int i = 0; i < 10000000; i++) {
                m.invoke(a, new Object[] {});
            }
            System.out.println("Simple              :" + (System.currentTimeMillis() - start));
    
            m.setAccessible(true); // 注意此处不同
            long start1 = System.currentTimeMillis();
            for (int i = 0; i < 10000000; i++) {
                m.invoke(a, new Object[] {});
            }
            System.out.println("setAccessible(true) :" + (System.currentTimeMillis() - start1));
        }
    }
    
    class A {
        private String name;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    }

    测试结果 
    false 
    Simple              :4969 
    setAccessible(true) :250 
    明显 Accessible并不是标识方法能否访问的. public的方法 Accessible仍为false

    使用了method.setAccessible(true)后 性能有了20倍的提升
    Accessable属性是继承自AccessibleObject 类. 功能是启用或禁用安全检查

     

    展开全文
  • struts2中的struts.enable.DynamicMethodInvocation = true用法 很多网站都说的很简单 就是关闭动态方法调用  具体点应该如下:  其实在url里我们可以这样访问  http://localhost:8080/exam/login!...
    struts2中的struts.enable.DynamicMethodInvocation = true 的用法 很多网站都说的很简单 就是关闭动态方法调用 

    具体点应该如下: 

    其实在url里我们可以这样访问 

    http://localhost:8080/exam/login!checkLogin.action 

    login!checkLogin    login是我的struts.properties配置文件中的一个action的名字 而checkLogin是这个action类里的一个方法。 

    我们可以使用action名 + 感叹号 + 方法名进行方法调用  这个在开发阶段开启可以加速我们开发人员的开发调试,但是在项目完成时还是设为false的好。毕竟直接访问类的方法是不安全的。 

    至于xml中的通配符(*)在设为 false时还是可以用的 
    展开全文
  • pintu1.setVisible(true); } public PicPanel(Image img,JLabel statusText) { this.statusText=statusText; setBackground(Color.white); m_sImgName = "pintu.jpg"; MediaTracker ...
  • 你也可以指定参数为true,以包括外边距(margin)部分的宽度。如下图: 如果你要获取其它情况的宽度,请使用width()和innerWidth(),你可以点此查看三者之间的区别。该函数属于jQuery对象(实例),并且对不可见的元素...
  • 相当于一个嵌套标签,将需要显示的htm文件放到其中可以显示,以下是标签的一些用法 2.这里先定义一个标签将>至于其中 <div class="main"> <iframe name="right" id="rightMain" src="welcome....
    1. 相当于一个嵌套标签,将需要显示的htm文件放到其中可以显示,以下是标签的一些用法

    在这里插入一些样式定义及其用法

    2.这里先定义一个div标签将frame至于其中

    <div class="main">
        <iframe name="right" id="rightMain" src="welcome.html" frameborder="no" scrolling="auto" width="100%" height="auto" allowtransparency="true"></iframe>
    </div>
    

    3.<li><a href="javascript:void(0)" onclick="showpage(this,'admin.html')">添加管理员</a></li> <li><a href="javascript:void(0)" onclick="showpage(this,'view_admin.html')">管理员信息</a></li> <li><a href="javascript:void(0)" onclick="showpage(this,'user.html')">会员信息</a></li>

    设置

    标签,onclick触发showpage()方法

    4.showpage()方法如下,此处用的jquery方式调用方法

    function showpage(obj,page){
            $("#rightMain").attr("src",page);
        }
    

    既将id为“rightMain’ 的标签中的src设为传进来的的page,即要显示的html文件

    一开始中的src=“welcome.html",显示欢迎界面如下
    显示welcome.html页面   涉及打广告所有涂鸦了哈哈哈

    点击添加管理员后,触发showpage方法,将中的src转换成admin.html,右边显示admin.html页面,左边不变
    显示admin,htrml页面

    展开全文
  • &lt;%@ taglib prefix="c" uri="... %&gt; 一般用途的标签: [转贴] 1.&...c:out value=”value” [escapeXml=”{true|false}”] [default=”defaultValue”]/&gt; 有Bod...

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"    %>
    一般用途的标签:   [转贴]
    1.<c:out>没有Body时的语法<c:out value=”value” [escapeXml=”{true|false}”] [default=”defaultValue”]/>
    有Body时的语法<c:out value=”value” [escapeXml=”{true|false}”]>这里是Body部分</c:out>名字 类型 描述value Object 将要输出的表达式escapeXml boolean 确定以下字符:<,>,&,’,”在字符串中是否被除数,默认为truedefault Object 如果vaule计算后的结果是null,那么输出这个默认值

    2.<c:set>这个标签用于在某个范围(page、request、session、application等)中使用某个名字设定特定的值,或者设定某个已经存在的 javabean对象的属性。他类似于<%request.setAttrbute(“name”,”value”);%>
    语法1:使用value属性设定一个特定范围中的属性。<c:set value=”value” var=”varName” [scope=”{page|request|session|application}”]/>
    语法2:使用value属性设定一个特定范围中的属性,并带有一个Body。<c:set var=”varName” [scope=”{page|request|session|application}”]>Body部分</c:set>
    语法3:设置某个特定对象的一个属性。<c:set value=”value” target=”target” property=”propertyName”/>
    语法4:设置某个特定对象的一个属性,并带有一个Body。<c:set target=”target” property=”propertyName”>Body部分</c:set>名字 类型 描述value Object 将要计算的表到式。

    var String 用于表示value 值的属性,如果要在其他标签中使用,就是通过这 个var指定的值来进行的。

    它相当于在标签定义了一个变量,并且这个变量只能在标签中的一个。scope String var的有效范围,可以是page|request|session|application中的一个target String 将要设置属性的对象,它必须是javabean或则java.util.Map对象property Object 待设定的Target对象中的属性名字,比如在javabean中有个name属性,提供了setUserId方法,那么这里填userId。

    3.<c:remove><c:remove var=”varName” [scope=”{page|request|session|application}”]/>
    4.<c:catch>这个标签相当于捕获在它里边的标签抛出的异常对象<c:catch [var=”varName”]> //var是异常的名字内容</c:catch>

    条件标签

    1. <c:if>
    语法1:无Body情况<c:if test=”testCondition” var=”varName” [scope=”page|request|session|application”]/>
    语法2:有Body的情况<c:if test=”testCondition” var=”varName” [scope=”page|request|session|application”]>Body内容</c:if>名字 类型 描述test Boolean 表达式的条件,相当于if()中的条件判断语句。var String 表示这个语句的名字。scope String var这个变量的作用范围。

    2.<c:choose>

    语法:<c:choose>Body内容(<c:when>和<c:otherwise>子标签)</c:choose>注意:它的Body只能由以下元素组成:1) 空格2) 0或多个<c:when>子标签,<c:when>必须在<c:otherwise>标签之前出现.3) 0个或多个<c:otherwise>子标签。

    3.<c:when>代表的是<c:choose>的一个条件分支,只能在<c:choose>中使用语法:<c:when test=”testCondition”> //test是boolean类型,用于判断条件真假Body语句</c:when>

    4.<c:otherwise>代表的是<c:choose>中的最后选择。必须在最后出现<c:otherwise>内容</c:otherwise>

     

    迭代标签

    1.<c:forEach>

    语法1:在Collection中迭代<c:forEach[var=”varName”] items=”collection” [varStatus=”varStatusName”][begin=”begin”] [end=”end”] [step=”step”]Body内容</c:foeEach>

    语法2:迭代固定的次数.<c:forEach [var=”varName”] [varStatus=”varStatusName”][begin=”begin”] [end=”end”] [step=”step”]Body内容</c:foeEach>名字 类型 描述var String 迭代的参数,它是标签参数,在其他标签中通过它来引用这个标签中的内容。Items Collection、ArrayList、 要迭代的items集合.Iterator、Map、String、Eunmeration等VarStatus String 表示迭代的状态,可以访问迭代自身的信息Begin int 表示开始迭代的位置。End int 表示结束迭代的位置。Step int 表示迭代移动的步长,默认为1。

     

    URL相关的标签

    1.<c:import>

    语法1:资源的内容使用String对象向外暴露<c:import url=”url” [context=”context”][var=”varName”] [scope=”{page|request|session|application}”] [charEncoding=”charEncoding”]>内容</c:import>

    语法2:资源的内容使用Reader对象向外暴露。<c:import url=”url” [context=”context”]varReader=”varReaderName” [charEncoding=”charEncoding”]>内容</c:import>名字 类型 描述url String 待导入资源的URL,可以是相对路径和绝对路径,并且可以导入其他主机资源context String 当使用相对路径访问外部context资源时,context指定了这个资源的名字。var String 参数的名字。scope String var参数的作用范围。cahrEncoding String 输入资源的字符编码。varReader String 这个参数的类型是Reader,用于读取资源。

    2.<c:redirct>

    语法1:没有Body的情况.<c:redirect url=”value” [context=”context”]/>

    语法2:有Body情况下,在Body中指定查询的参数<c:redirect url=”value” [context=”context”]><c:param name=”name” value=”value”/></c:redirect>

     

    展开全文
  • 前言(小白专用)本次所共享的是Python中的not、and、or的执行时的优先级,以及他们的详细用法。本文比较具体,不喜勿喷。一、not、and、or的含义以及优先级对象返回结果优先顺序not xif x is false,then True,else ...
  • 本文实例讲述了Python中的True,False条件判断用法。分享给大家供大家参考。具体分析如下:对于有编程经验的程序员们都知道条件语句的写法:以C++为例:代码如下:if (condition){doSomething();}对于Python中的条件...
  • ``` $.ajax({ type: "POST", async: false, ... url: "() %>/apps/productRemedy/authorizeConfig!... data: {authorizeId:authorizeId,remedyPrice:remedyPrice,...这是什么用法
  • lombok用法

    2019-10-15 00:30:41
    文章目录@Accessors用法lombok具体使用 @Accessors用法 生成set、get方法 @Data @Accessors(chain = true) public class TestSearchVo { } 具体用法 lombok具体使用 地址
  • def func1(): for i in range(10): print('-----1-----') ret = yield i print('\n-----2-----') print('ret:', ret) print('-----3-----') f = func1() while True...
  • public function user(){ $url="接口路径"; $ch =curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, ...
  • True,False(and(与),or(或),not(取反)) (注意首字母大写!) 空值: None (tuple)元组: students=("jim","jack","rose","lina")# 用小括号括起,元组不可被修改 print(students) for s i
  • python中的not具体表示是什么:在python中not是逻辑判断词,用于布尔型True和False,not True为False,not False为True,以下是几个常用的not的用法:(1) not与逻辑判断句if连用,代表not后面的表达式为False的时候,...
  • JSON 模块【官方文档】http://www.ziqiangxuetang.com/python/python-json.html1. 从python原始类型向json类型的转换过程,具体的转换如下:import jsonjson.dump(obj, fp, skipkeys=False,ensure_ascii=True,...
  • EXITS用法

    2021-04-02 19:11:38
    结果类型: Boolean 如果子查询包含行,则返回 TRUE ,否则返回 FLASE 。 NOT EXISTS 的作用与 EXISTS 正好相反 执行效率 EXISTS与IN使用效率的问题,通常情况下采用exists要比in效率高,因为IN不走索引,但要看...
  • python中的not具体表示是什么:在python中not是逻辑判断词,用于布尔型True和False,not True为False,not False为True,以下是几个常用的not的用法:(1) not与逻辑判断句if连用,代表not后面的表达式为False的时候,...
  • GridSplitter用法

    2016-02-23 11:03:00
    1.GridSplitter的ShowsPreview设置为True时拖动报null错误 ...2.当ShowsPreview设置为True时,可以设置鼠标拖动的时候动态效果,具体方法是设置PreviewStyle 另外这个PreviewStyle的TargetType只针对Control的,因...
  • value )target:要更改的数据源(可以是对象或者数组)key:要更改的具体数据value :重新赋的值具体用法js代码://设置初始状态和值let j = { id: 0, "progressTime": "", "progressContent": "", "isSet": true, "_...
  • 本文实例讲述了python中管道用法。分享给大家供大家参考。具体如下:#!coding=utf-8import multiprocessingdef consumer(pipe):output_p , input_p = pipeinput_p.close() #关闭管道的输入端while True:try:item = ...
  • 本文实例汇总了WinForm项目开发中WebBrowser用法,希望对大家项目开发中使用WebBrowser起到一定的帮助,具体用法如下: 1. [PermissionSet(SecurityAction.Demand, Name = FullTrust)] [ComVisibleAttribute(true)]...
  • 本文实例讲述了javascript中in运算符用法。分享给大家供大家参考。具体分析如下: in运算符希望它的左操作数是一个字符串或可以转换为字符串,希望他的右操作数是一个对象;如果右侧对象拥有一个名为左操作数值的...
  • 本文实例讲述了Python中subprocess模块用法。分享给大家供大家参考。具体如下:执行命令:>>> subprocess.call(["ls", "-l"])0>>> subprocess.call("exit 1", shell=True)1测试调用系统中cmd命令,...
  • python中not的用法

    千次阅读 2020-01-20 15:37:12
    在python中not是逻辑判断词,用于布尔型True和False,not True为False,not False为True,以下是几个常用的not的用法: (1) not与逻辑判断句if连用,代表not后面的表达式为False的时候,执行冒号后面的语句。比如: ...
  • php中define用法实例

    2021-01-21 16:03:03
    具体如下: <?php /* * define * */ /*第3个参数: * false -- 对大小写敏感(默认) * true -- 对大小写不敏感 * */ define(pai,3.14); define (name,LiLei,true); function testfor($x) { for($a=$x...
  • 前言(小白专用)本次所分享的是python中的not、and、or的执行时的优先级,以及他们的具体用法。本文比较详细,不喜勿喷。一、not、and、or的含义以及优先级对象返回结果优先顺序not xif x is false,then true,else ...
  • Grid用法

    2011-10-20 13:42:00
    属性表格——PropertyGrid(只要两个值:key和value,即:列的名称和具体的值) var grid = new Ext.grid.PropertyGrid({ title: '属性表格', autoHeight: true, width: 300, renderTo: 'grid', sou...
  • 本文实例讲述了Python常见内置高效率函数用法。分享给大家供大家参考,具体如下:1. filter(function,sequence)将sequence中的每个元素,依次传进function函数(可以自定义,返回的结果是True或者False)筛选,返回...
  • 这两个函数有意义用法差不多,都是查看对象的,但是两者之间也有一定区别,具体内容请看下文~两者区别:type()是一个内置函数,可以用来查询变量所指的对象类型isinstance()是用来判断该变量是否为某种数据类型关于...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 726
精华内容 290
关键字:

true具体用法