首页 文章 精选 留言 我的

精选列表

搜索[网站开发],共10000篇文章
优秀的个人博客,低调大师

Android JNI开发系列(十)JNI访问 Java 实例变量和静态变量

JNI访问 Java 实例变量和静态变量 Java 中的实例变量和静态变量,在本地代码中如何来访问和修改。静态变量也称为类变量(属性),在所有实例对象中共享同一份数据,可以直接通过类名.变量名来访问。实例变量也称为成员变量(属性),每个实例都拥有一份实例变量数据的拷贝,它们之间修改后的数据互不影响。 直接上代码: JAVA public class Person { //成员变量 private String hobby; //静态变量 private static int happiness; public String getHobby() { return hobby; } public static int getHappiness() { return happiness; } //Native方法中设置成员变量的值 public native boolean setHobby(); //Native方法中设置静态变量的值 public native boolean setHappiness(); } Native JNIEXPORT jboolean JNICALL Java_org_professor_jni_bean_Person_setHobby(JNIEnv *env, jobject instance) { //1.获取类类型的Class对象 jclass personClass = (*env)->FindClass(env, "org/professor/jni/Person"); if (NULL == personClass) { __android_log_print(ANDROID_LOG_ERROR, "PERSON", "NOT FIND CLASS"); return JNI_FALSE; } //2.获取属性ID jfieldID hobbyFiledID = (*env)->GetFieldID(env, personClass, "hobby", "Ljava/long/String"); if (NULL == hobbyFiledID) { __android_log_print(ANDROID_LOG_ERROR, "PERSON", "NOT FIND Hobby FiledID"); return JNI_FALSE; } //3.实例属性,通过对象获取属性值 jstring hobbyFiledStr = (*env)->GetObjectField(env, instance, hobbyFiledID); if (NULL != hobbyFiledStr) { const char *hobby = (*env)->GetStringUTFChars(env, hobbyFiledStr, NULL); if (NULL != hobby) { __android_log_print(ANDROID_LOG_ERROR, "PERSON Hobby", hobby); (*env)->ReleaseStringChars(env, hobbyFiledStr, hobby); } } //4.设置属性值 jstring jHobby = (*env)->NewStringUTF(env, "BASKETBALL,RUN"); (*env)->SetObjectField(env, instance, hobbyFiledID, jHobby); //5.删除局部引用变量 (*env)->DeleteLocalRef(env, personClass); (*env)->DeleteLocalRef(env, hobbyFiledStr); (*env)->DeleteLocalRef(env, jHobby); return JNI_TRUE; } JNIEXPORT jboolean JNICALL Java_org_professor_jni_bean_Person_setHappiness(JNIEnv *env, jobject instance) { //1.获取类类型的Class对象 jclass personClass = (*env)->FindClass(env, "org/professor/jni/Person"); if (NULL == personClass) { __android_log_print(ANDROID_LOG_ERROR, "PERSON", "NOT FIND CLASS"); return JNI_FALSE; } //2.获取属性ID jfieldID happinessFiledID = (*env)->GetStaticFieldID(env, personClass, "happiness", "I"); if (NULL == happinessFiledID) { __android_log_print(ANDROID_LOG_ERROR, "PERSON", "NOT FIND Happiness FiledID"); return JNI_FALSE; } //3.获取静态属性值 jint happinessValue = (*env)->GetStaticIntField(env, personClass, happinessFiledID); if (NULL != happinessValue) { __android_log_print(ANDROID_LOG_ERROR, "PERSON happinessValue = %d", (const char *) happinessValue); } //4.设置静态属性值 (*env)->SetStaticIntField(env, personClass, happinessFiledID, 80); //5.删除本地局部引用表,基本数据类型不需要 (*env)->DeleteLocalRef(env, personClass); return JNI_TRUE; } 小结 由于JNI 函数是直接操作JVM中的数据结构,不受 Java访问修饰符的限制。即,Native代码中调用 JNI函数可以访问 Java 对象中的非 public 属性和方法 访问和修改实例变量操作步聚: 调用 GetObjectClass 函数获取实例对象的 Class 引用 调用 GetFieldID 函数获取 Class 引用中某个实例变量的 ID 调用 GetXXXField 函数获取变量的值,需要传入实例变量所属对象和变量 ID 调用 SetXXXField 函数修改变量的值,需要传入实例变量所属对象、变量 ID 和变量的值 访问和修改静态变量操作步聚: 调用 FindClass 函数获取类的 Class 引用 调用 GetStaticFieldID 函数获取 Class 引用中某个静态变量 ID 调用 GetStaticXXXField 函数获取静态变量的值,需要传入变量所属 Class 的引用和变量 ID 调用 SetStaticXXXField 函数设置静态变量的值,需要传入变量所属 Class 的引用、变量 ID和变量的值

优秀的个人博客,低调大师

区块链项目开发区块链产业发展六大趋势

2018年最火的技术名词非区块链莫属,但至今仍有公众把比特币、以太坊和区块链技术混为一谈。于佳宁认为,比特币仅是区块链最早期的应用,能运行DApp的以太坊是区块链的2.0时代,而3.0时代是区块链和产业的密切结合。 在《2018年区块链产业白皮书》中,于佳宁总结了当前区块链产业发展的六大趋势。 第一,区块链成为全球技术发展的前沿阵地,国际竞争新赛道。根据IBM区块链发展报告数据显示,全球九成政府正在规划区块链投资。在这过程中,公链等区块链底层架构和基础设施的重要性将非同一般,成为竞争焦点。 第二,区块链成为创新创业新热土,区块链与人工智能、物联网等新技术融合,不断拓展技术应用新空间。数据显示,2017年中国独角兽企业共164家,其中32家正研发或已上线区块链项目。区块链虽然没有区块链资产投资热闹,但敏锐的创业者已纷纷杀入其中。 第三,区块链将在实体经济中广泛落地。白皮书中提到,未来三年将是传统行业与区块链紧密融合的关键时期,会涌现新型的商业模式和监管服务模式。这为实体产业“换道超车”提供机遇,数字资产会成为企业重要资产。对于实体经济而言,这或许既是机遇,也是挑战。 第四,区块链将开启共享经济新时代。这可以理解为,借助Token体系,区块链平台可将用户对平台或社区的贡献量化并自动结算,给予相应奖励,实现用户与互联网平台所有者共享平台价值的增值。 第五,区块链将加速“可信数字化”进程,带动金融“脱虚向实”服务实体经济。白皮书提到,金融机构和实体企业之间存在严重的信息不对称,结果是中小微企业融资难、融资贵、融资慢。区块链可以实现实物流、信息流、资金流“三流融合”,推动金融更好地为实体经济服务。实际上,从目前的区块链技术应用看,金融也是区块链有效切入的重点领域。 第六,区块链监管和标准体系将进一步完善。区块链分布式、不可篡改、公开透明等特性可以有效地提升监管的实施效率。未来一段时间,区块链标准化将进入关键发展时期,这或许能为区块链进一步普及打下基础。

优秀的个人博客,低调大师

区块链开发公司谈物联网如何抱紧区块链的大腿

虽然,物联网技术的发展和应用在最近几年取得了显著成果,目前在世界范围内已经有数十亿个传感器和智能控制器投入使用,预计在未来几年这个数字还会成倍的增长。但是,物联网技术也面临着许多问题和挑战,这些问题有可能成为物联网在未来发展和应用的巨大障碍,而区块链技术给这些问题的解决提供了新的可能性。 物联网运营商或个人的设备和网络进行数据的传输和存储,无法满足多方利益的分配,数据共享成本变高。如果说提供基础设施设备和网络服务的公司和个人想要获得可靠的收益,比如按照存储和传输的数据量进行收费,不同物联网服务提供商需要实现资源共享,签订合作协议,并在顶层设计上做好结算系统。而在万物互联的大环境下,这种双方互签协议的合作模式,实施成本非常之高,管理细节非常琐碎,基本无法实现。 第一道坎,行业标准化。我们都清楚提高效率的一个重要手段就是标准化,而物联网偏偏很难提高效率,因为物联网的应用领域非常广,不同领域需求差异大,导致物联网行业解决方案技术实现复杂,难以快速大规模落地。 第二道坎,信息安全。物联网需要各种线下设备个人大量的生活、交易等隐私信息,这些信息都被收集保存到一个个信息“孤岛”中,也就是巨头手中。如果这些数据被黑客监测利用,轻则借助这些数据进行不法勾当,重则通过这些数据定位到现实生活,甚至可以直接威胁人身安全。 第三道坎,数据使用。目前多数物联网平台,都是中心化服务商创建,采集的数据都被运营商掌握,而又因为各个中心收集数据的标准不一致,导致数据没法流动,形成信息孤岛。简单来说就是淘宝、京东的用户信息收集的侧重肯定不一样,没法进行后续的数据分析,数据价值没法发挥。 使用区块链和物联网不仅可以对数据进行验证、还可以使其透明化、防篡改,进行加密,从而带来真正的隐私。此外,任何人都可以知道正在发送的数据,从而消除了可能的公司不正当行为和非法数据收集。如果出现问题,监管机构也将能够准确发现问题所在。 区块链与物联网的通力合作,不仅是区块链多了一个应用的场景,也从更本上解决了物联网的核心难题,节约了大量的成本,提高了效率。这无疑具有革命性的潜力,不过它是一个渐进的过程,当前概念炒作大于实际应用,踏实做事做事的朋友还会有很长的路要走。

优秀的个人博客,低调大师

区块链开发公司发展快 未来主要应用方向怎么走

近几年,区块链的概念越来越受到重视,多种行业专业人士也认为区块链技术将成为工业4.0的重要引擎。 简单理解,区块链中的“区块”指的是信息块,这个信息块内含有一个特殊的信息就是时间戳。含有时间戳的信息块彼此互连,形成的信息块链条被称为“区块链”。 1、财务管理行业 区块链应用的核心价值金融部门:促进反洗钱和客户鉴定审查。在块链的创新和应用中,金融是最重要的领域,而区块链应用技术在数字货币、支付清算、智能合同、金融交易和互联网等方面有着广泛的应用前景。由于其篡改时间戳和网络范围的开放性,已被广泛信赖的银行,证券,保险等金融部门,并在近几年已经疯狂的飙升,即使在许多国家,比特币已经成为一种合法的货币。 2、社会管理方面 区块链应用的社会领域核心价值:让用户控制数据,消除隐私泄露。总是会收到一个类似的广告窗口在其他社会平台,因为区块链应用的数据隐私是一个垄断的大型数据平台的可耻的销售。区块链应用技术实现中心向中心的转变,使数据的控制牢牢掌握在用户手中。 3、著作权保护方面 区块链应用中的版权领域的核心价值:重塑知识产权保护。区块链应用技术所有事务都记录在块中,记录的形成不能被篡改,因此可以跟踪和查询所有事务,以保护块链上的事务透明度,以避免网络用户非法使用知识产权保护内容。对于创作者来说,这是一种更方便、更安全、更便宜的版权保护方式。 4、物联网+区块链 IBM曾提出一个概念“运用区块链技术,可以为物联网的世界提供一个引人入胜的可能性,当产品最终完成组装时,可以由制造商注册到通用的区块链 里面标示着它生命周期的开始,一旦该产品售出,经销商可以把它注册到一个区域性的区块链上(社区、城市或国家),通过创建有形资产和匹配供给和需求,物联 网将会创造一个新的市场。” 区块链应用的核心是去中央和信任,服务佳的区块链应用对凭借智能合同技术的使用,可以自动执行操作,以满足一定的条件,还可以使更多的商品“共享”,大大降低了合同建立和执行的成本。区块链应用同适用于今天蓬勃发展的共享自行车行业,它可能会给该行业带来全新的变化。

优秀的个人博客,低调大师

分享某行软件开发中心的两道python笔试题

两道笔试题都是选择题,两个知识点,容易做错。 第一题 ## 下面程序执行结果 x = 2 def b(a): x = x+a b(3) print(x) 此段程序运行报错,UnboundLocalError: local variable 'x' referenced before assignment 应采用global关键字定义全局变量 x = 2 def b(a): global x x = x+a b(3) print(x) 第二题 a = [x for x in range(3)] import numpy as np a = np.array(a) a**a [1,1,4] 0**0 = 1,容易犯迷糊。

优秀的个人博客,低调大师

区块链开发公司发展迅速 区块链行业如何发展立足

区块链概念诞生至今,已经渡过了襁褓期,世界各地对于区块链技术的研究已经稍有头目,不少相关应用产品也陆续上市,不过目前看来,区块链的行情并未有想象中那么乐观,而是有大量的空气币和虚假项目正在扰乱市场。 可以说,现在的区块链市场混乱不堪,且安全性威胁已是其面临的最重要的问题之一。在这样的背景下,区块链行业又该如何发展? 在当今时代,区块链技术已经占据市场的主体地位,区块链技术在这样的背景下依旧可以如日中天的发展,区块链的发展依靠于它的作用以及特点,区块链不仅在经济领域有着不可小觑的力量,更在人们的日常生活中提供便利。 区块链应用于经济领域,不仅带动整个产业链的发展,还更便于管理,这是来自于区块链的匿名性和可溯源的性质,区块链在经济领域的应用颇多,如今很多人利用区块链赚了不少钱,区块链就是这样一个东西,具有无限的吸引力。 区块链还应用与我们的生活,相信不少人都知道区块链溯源,这个为我们的生活提供的很大的便利,之前,我们在购买东西时,时常会害怕自己买到假货,甚至有时候假货仿起来和正品没有什么区别,那么这样,我们该怎么办呢?区块链溯源正是解决了这样一个问题,如今的京东商城也开始做区块链溯源,由此可见,这个系统还是很有价值的,可以解决人与人之间的信任问题。 区块链技术还应用于政府部门,政府部门是国家部门,有着很多的重要档案,这些都是很关键性的文件,稍有存储不利丢失都是一个大事,那么怎样存储才能保证绝对的安全呢?那便是用区块链技术,区块链相当于一个数据账本,有相对应的节点,具有不可篡改性,当把这些数据都上链了,存在每个节点里,那么就不怕被丢失了,这是目前最为安全的方法。 区块链的应用还有很多,无论在经济上还是生活上或者政府部门,他都能给我们带来便利和价值,像这样好的技术,怎样都会在未来的发展中绽放精彩。

优秀的个人博客,低调大师

区块链开发公司解析区块链怎样与大数据完美结合

大数据时代确实给我们带来很多便利这个是不可否认‌‌的,但是带来的弊端我们也是不能忽视的。通过等价交换的原则来看,数据显然没有我们所想的那么毫无价值,用这些数据可以做很多我们未曾想过的事情,并且还是在我们不知道的情况下。 那么大数据包括哪些呢?区块链怎样与大数据完美结合呢? 1.产品部分包括大数据基础软件、应用软件等产品产业 2.数据部分包括数据源、数据流通等与数据直接相关的产业 3.服务部分包括基础设施服务大数据分析与大数据应用服务等相关产业 大数据与区块链方面,都是分布式架构。从我们研发商的技术角度来观察,区块链账本可追溯与防伪方面,溯源体系让多方提供数据变得更加信任。两者结合可以维护完整的大数据形态。 加密技术与大数据相结合是一个重要的技术点。 大数据在我们的生活中都是实时存在的,医院有大数据,政府有大数据,公司企业有大数据,就算我们每个人的家也是有大数据的,区块链与大数据相结合,可以把大数据存储的更安全,区块链具有匿名性、去中心化、去信任、不可篡改性、所以大数据上区块链会帮助大数据存储的完整性。 未来区块链必然会变革整个信任时代,有人的地方就可以使用区块链,区块链的前景非常不错,必然的发展方向,建议可以找专门从事区块链研发的进行探讨。打造自己的产业链形成圆环,需要与行业人士多接触。

优秀的个人博客,低调大师

SpringCloud+SpringBoot+mybatis分布式微服务云架构开发Web应用

在完成配置之后,举一个简单的例子,在快速入门工程的基础上,举一个简单的示例来通过Thymeleaf渲染一个页面。 @Controller public class HelloController { @RequestMapping("/") public String index(ModelMap map) { // 加入一个属性,用来在模板中读取 map.addAttribute("host", "http://blog.didispace.com"); // return模板文件的名称,对应src/main/resources/templates/index.html return "index"; } } <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8" /> <title></title> </head> <body> <h1 th:text="${host}">Hello World</h1> </body> </html> 如上页面,直接打开html页面展现Hello World,但是启动程序后,访问http://localhost:8080/,则是展示Controller中host的值:http://blog.didispace.com,做到了不破坏HTML自身内容的数据逻辑分离。 更多Thymeleaf的页面语法,还请访问Thymeleaf的官方文档查询使用。 Thymeleaf的默认参数配置 如有需要修改默认配置的时候,只需复制下面要修改的属性到application.properties中,并修改成需要的值,如修改模板文件的扩展名,修改默认的模板路径等。 # Enable template caching. spring.thymeleaf.cache=true # Check that the templates location exists. spring.thymeleaf.check-template-location=true # Content-Type value. spring.thymeleaf.content-type=text/html # Enable MVC Thymeleaf view resolution. spring.thymeleaf.enabled=true # Template encoding. spring.thymeleaf.encoding=UTF-8 # Comma-separated list of view names that should be excluded from resolution. spring.thymeleaf.excluded-view-names= # Template mode to be applied to templates. See also StandardTemplateModeHandlers. spring.thymeleaf.mode=HTML5 # Prefix that gets prepended to view names when building a URL. spring.thymeleaf.prefix=classpath:/templates/ # Suffix that gets appended to view names when building a URL. spring.thymeleaf.suffix=.html spring.thymeleaf.template-resolver-order= # Order of the template resolver in the chain. spring.thymeleaf.view-names= # Comma-separated list of view names that can be resolved. 支持JSP的配置Spring Boot并不建议使用,但如果一定要使用,可以参考此工程作为脚手架:JSP支持 完整项目的源码来源 技术支持1791743380

优秀的个人博客,低调大师

区块链开发公司浅析区块链如何维护大数据的安全

随着互联网和信息技术的不断发展,人类已经进入大数据时代。数据已成为一个国家基础型的战略资源。在信息化浪潮的不断推动下,政府部门多年来积累了越来越多的与民生、经济息息相关的数据,如医疗、交通、社保等,一般称为“政府大数据”。与互联网上产生的大数据低价值密度不同,政府大数据具有高价值密度的特点。 随着区块链技术的不断创新,区块链与其他的新一代信息安全技术有互相渗透、共同促进的关系越来越明显。同时,不难看出区块链技术和应用的发展需要云计算、大数据、加密技术等新一代信息安全技术作为基础设施支撑,同时区块链技术的应用发展对推动新一代信息安全技术产业发展具有重要的促进作用。 区块链技术可以构建一种无需信任的可信网络,对大数据进行加密后的分布式存储,链上数据通过点对点传输来完成实时交互,能够安全透明地记录交易及其关联数据,同时能够对大数据进行有效溯源且所有记录不能被篡改; 区块链网络可以通过机器的共识机制和通证经济体系重塑数据市场的流通规则,并激发数据交易的积极性,促进繁荣的数据流通; 区块链网络的智能合约因其自身图灵完备的特征,可以在被触发时执行事先规定好的合约内容,而且不同的人签订一个内容相同的智能合约会得到相同的执行结果,从而杜绝分歧,创造商业上的平等和互信; 区块链是可以改变这种现状的。用户越来越意识到数据所有权的重要性。区块链确保您拥有数据的完全所有权。数据的所有权与代码的所有者是独立的,与应用、公司、服务器、服务供应商或其他拥有代码的人无关。您可以选择哪个应用程序可以访问您的全部或部分数据。您可以选择出售或授权他人免费访问您的数据。你可以携带你的全部社交数据到不同的社交媒体。你可以设定条款,而不是只能选择同意而别无选择。

优秀的个人博客,低调大师

区块链主链开发公司谈区块链侧链的价值

侧链是以融合的方式实现加密货币金融生态的目标,而不是像其它加密货币一样排斥现有的系统。利用侧链,我们可以轻松的建立各种智能化的金融合约,股票、期货、衍生品等等。你可以有成千上万个锚定到比特币上的侧链,特性和目的各不相同,所有这些侧链依赖于一种主区块链保障的弹性和稀缺性。在这基础上,侧链技术进一步扩展了区块链技术的应用范围和创新空间,使传统区块链可以支持多种资产类型,以及小微支付、智能合约、安全处理机制、财产注册等,并可以增强区块链的隐私保护。 什么是侧链? 侧链(sidechains)实质上不是特指某个区块链,而是指遵守侧链协议的所有区块链。 侧链协议是指:可以让币安全地从主链转移到其他区块链,又可以从其他区块链安全地返回主链的一种协议。它允许你将你的币从一个区块链移动到另一个区块链,然后在另一个区块链上使用它们,同时在稍后的时间点将它们移回,这一过程完全不需要第三方的存在。 随着通证经济的繁荣,区块链性能的限制、功能的单一,以及项目的同质化等问题逐渐暴露出来。而区块链3.0时代,出现的侧链和跨链技术,为区块链产业克服以上缺陷带来了曙光。侧链延展了主链的性能,拓宽了代币的使用场景;跨链打破了价值孤岛,沟通了两条甚至多条独立的区块链。 1、主链币通过双向锚定技术锚定侧链币,通常时1:1的比例或者其他预定汇率。 2、侧链自己不能产出主币,只能接受主链的输入,并在自己链上生成对应的侧链币。 3、侧链需要足够的算力和共识保证侧链的安全。 4、侧链独立于主链存在,侧链上发生的任何事情都不会影响主链,从而可以保证主链安全性。 根据定义只要实现了侧链协议就可以认为是侧链,那么其实任何链都可以成为别的链的侧链。 侧链可基于主链添加新的功能——如数据信息的隐私保护、智能合约等。如此一来,用户就可以访问更多新服务,同时不影响主链的正常运行。并且,侧链还可以提供更安全的协议升级方式。万一侧链瘫痪,主链仍然可以正常运行。 侧链技术在一定程度上扩大了区块链技术的应用范围和创新空间,这样一来,传统的区块链技术可以支持更多的应用场景,包括在小智能合约、安全处理机制等方面均适用,同时还能大大提高隐私保护力度。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册