第一篇:JNI技术实践小结
JNI技术实践小结
xx组 kimmking 2008年11月12日
昨天和一部zzz一起研究解决一个java调用第三方dll的问题,从零开始学习了jni技术的应用,现在总结如下。
事情的起因是一部的一个项目需要用到一个爱国者提供的基于U盘的加密技术。对方提供了U盘和一个dll动态链接库hiddenIO.dll。在U盘的隐藏区域内可以储存USB-Key信息,通过这个dll里的两个方法可以使用c/c++编写程序在U盘的隐藏区域读写信息,对方提供了示例代码。由于一部的项目是基于SWT/RCP技术的,所以需要在java程序中调用这两个方法。
目前java与dll交互的技术主要有3种:jni,jawin和jacob。Jni(Java Native Interface)是sun提供的java与系统中的原生方法交互的技术(在windowslinux系统中,实现java与native method互调)。目前只能由c/c++实现。后两个都是sourceforge上的开源项目,同时也都是基于jni技术的windows系统上的一个应用库。Jacob(Java-Com Bridge)提供了java程序调用microsoft的com对象中的方法的能力。而除了com对象外,jawin(Java/Win32 integration project)还可以win32-dll动态链接库中的方法。就功能而言:jni >> jawin>jacob,其大致的结构如下图:
jni技术体系功能结构图
就易用性而言,正好相反:jacob>jawin>>jni。
Jvm封装了各种操作系统实际的差异性的同时,提供了jni技术,使得开发者可以通过java程序(代码)调用到操作系统相关的技术实现的库函数,从而与其他技术和系统交互,使用其他技术实现的系统的功能;同时其他技术和系统也可以通过jni提供的相应原生接口开调用java应用系统内部实现的功能。
在windows系统上,一般可执行的应用程序都是基于native的PE结构,windows上的jvm也是基于native结构实现的。Java应用体系都是构建于jvm之上。
Windows系统上的java体系
Jni对于应用本身来说,可以看做一个代理模式。对于开发者来说,需要使用c/c++来实现一个代理程序(jni程序)来实际操作目标原生函数,java程序中则是jvm通过加载并调用此jni程序来间接地调用目标原生函数。
Jni调用过程示意图
Jni程序开发的一般操作步骤如下: 编写java中的调用类
用javah生成c/c++原生函数的头文件 c/c++中调用需要的其他函数功能,实现原生函数(原则上可以调用任何资源)
将项目依赖的所有原生库和资源加入到java项目的java.library.path 生成java程序
发布java应用和dll库
Jni程序开发示例:
1、在eclipse项目中新建一个TestHello.java,输入以下内容: public class TestHello {
static {
System.loadLibrary(“TestHello”);}
public static native void hello(String msg);
public static void main(String[] args){
hello(“Hello,Kimm!”);
}
}
编译生成TestHello.class文件。
2、在命令行下使用javah TestHello命令,生成TestHello.h头文件(就是jni代理stub的接口)。
3、在VC6中新建一个项目TestHello, 项目类型为Win32 Dynamic-Link Library。点击OK。
在弹出的窗口中选择A simple DLL project,点击Finish。
打开项目所在的文件目录,将步骤2中生成的TestHello.h文件复制到此目录。点击左边中间的FileView,切换到文件浏览模式。在Header Files上点击右键,选择Add Files to Folder…。
选择TestHello.h文件,点击OK。
打开StdAfx.h文件,再最后面添加: #include
#include “TestHello.h”
打开TestHello.cpp文件,在最后面添加一段代码:
JNIEXPORT void JNICALL Java_TestHello_hello(JNIEnv * env, jclass obj, jstring jMsg){
const char *strMsgPtr = env->GetStringUTFChars(jMsg , 0);
MessageBox(0, strMsgPtr,“Message box from VC++ ”, 0);
env->ReleaseStringUTFChars(jMsg, strMsgPtr);
}
在VC的菜单上选择Tools-Options…,打开选项对话框。在Directories文件夹,添加上jdk所在文件夹下的include和includewin32文件夹。
点击VC上的菜单项Build-Build All,生成TestHello.dll。
4、将VC项目Debug文件夹中的TestHello.dll复制到TestHello.class所在的文件夹下。
5、在命令行下输入java TestHello,弹出MessageBox对话框。调用win32 api成功。
第二篇:技术小结
概述
一、如今大都市居民住宅的防盗已成一大难题,大多选择采用的是铁门和金属类窗罩;
问题其一:它隐藏着一个当其它安全性事件(如火灾或地震)发生时,由于这些通道的不畅,致使延误宝贵的逃生时机,甚至反成生命的杀手!
其二:不但浪费了大量且有限的金属资源,对市容是大煞风景的,且在加工、安装、报废的整个过程中,与环保是格格不入的。
二、随着电子产品的普及,电子垃圾也污染着我们的生活环境。
本文旨在: 大力宏扬环保。
通过我们的努力,将有害因素转化为有利,让电子“垃圾”重新焕发青春,更让它在科学技术的普及,丰富市场产品,在提高技术从业人员的素质,促进就业中起到抛砖引玉的作用。
技术小结
本文介绍一种利用适用于家庭的红外防盗报警及异地电话预警电路,它涉及红外线的发射与接收,电话摘机与自动拨号。
一、电话机原理简述
固定电话是早已经普及的通讯工具,在上世纪(未)90年代初,一门电话的初装费高达几千元,其中一台话机就要200多元,整整占当时一个人的全月收入!随着岁月的流逝,这些高龄话机正逐步退出人们的视野。实践证明,这些电话机一般损坏在与外界有关联的,如压簧开关、各按键、电线等,印板(PCB)电路部分绝大多数是完好的。当时有一款在上海普及率很高的,型号为“HA HA238” 话机,它外型艳丽,双音频振铃,话音清晰,小巧实用,按键不但视觉效果好,触感强等特点。常用功能:
HANDSFREE——免提;
RECALL——储存(可预存10个电话号码); STORE——重拨;
T/P——音频/脉冲(拨号); 关于号码的储存与拨出的使用 存入一个电话号码
储存:RECALL——号码(分机号由R/P键隔开)——RECALL——号码键——挂机;
重复以上可存入第二个号码,本机最多可存入10个电话号码。拨(读)出:STORE——号码键。
本文假定,需要拨出的电话号码已经储存于“9”键 原理简述:
图 一 图一为电话原理图,在叙述中,将原理图用模型框图来表示,见图二。
图二
1、挂机状态:
电话线路上有约为60V软特性的直流电压,摘机后电压立即跌至24V。
2、主叫:摘机后,①②通R1被短接,拨号信号由电话局交换机解码后接通相应的被叫用户,并送出交流振铃电压通知被叫方,被叫摘机后交换机感受到线路负载的变化,停止铃流,转入语音阶段。
主/被叫方此时工作状态相同,线路直流电压经D1-4施加于音频放大电路,双方的语音通过麦克转换成电信号,经放大器放大后将“音频”叠加在线路上送达对方。
为了避免自己的耳机中听到自己的声音,话机线路采取了消除侧音的电路,以抵消本地音频对接听音频的干扰;此外,话机电路的工作电源也取自于电话公网线路的直流电压并经滤波后得到,这是两线制电话系统的特点。
3、被叫:摘机前①③通,电话局送来的铃电流由C1通过D5-8整流,“双音频振荡及放大电路”获得供电电压,由扬声器(SPEAKER-1)发出两种不同频率相互调制(双音频)后动听的呼叫铃声。
二、红外线防盗报警装置
(一)接收端的任务和要求
由于红外线是无处不在的,接收端在接收来自发射端发出的红外线信号还将同时接收到如:阳光、照明、闪电等的干扰信号,这些干扰信号其幅度往往远强于发射端的信号,接收端如不加甄别照单全收,那么它就无法达成我们的目的,报警无从谈起。这是一个判断红外报警器质量优劣主要指标。
此外,所谓的红外线接收管也并非对可见光毫无反应,只是相对来说,它对红外线更敏感而已。因此,我们所见的接收端,在它的光路前面,往往有深褐色的滤光片,接收管本身也一般由深褐树脂来封装,以最大限度地削弱非红外线,同时,它对红外线也有一定的衰减。
为了接收端能可靠地工作,正确地完成我们赋予的报警任务,我们对发射端和接收端来个共同“约定”,即:发射端的驱动电流经过交变调制,使发出的红外线区别于干扰信号,尽可能地让它“一枝独秀”——编码;接收端则有选择地接收,即:尽可能地只让“一枝独秀” 通过——解码。只有如此,才能将其它洪水猛兽般的干扰拒之门外。在影视遥控家电中,其遥控器的每个按键,都有不同的编码,此外,通过不同形式编码,可区分不同品牌,不同类型的控制与被控对象。以上我们只是对遥控装置的原理进行了阐述,为了使防盗报警器在确保功能的前题下,最大限度地降低结构的繁琐及成本投入,报警器接收器只接收455KHZ频率的红外线,这样,所有红外线发射器都可加以利用了。
(二)接收器除了上述能自动甄别信号外,还应做到:
1、当接收端收到特定的红外线信号,即代表有不法入侵,接收器除应可靠动作外,还应该滤除可能出现的意外情况,如鸟类、小动物、树枝的幌动等,但完全滤除是有难度的,只能尽力避免。这里是以时间来区分的,技师所学的555电路是首选;对半遮半挡的的幅度识别则由运放构成的幅度鉴别器(施密特电路)。
2、报警
(1)现场报警:声光均可,目的是起到警告的作用;
(2)远程报警:通过电话,自动摘机,按事先储存于话机中的号码进行自动拨号,通知远方的您或他„„
(二)发射端
1、任何红外线的LED通入电流后均可发出该类光线,但是,红外线无处不在,接收端如不加甄别照单全收是无实用价值的。一般是在发射端的红外LED通入编码(以区别各功能)脉冲电流;接收端则由电容隔直,滤去无用信号,取出脉冲加以放大,解码。这里,既然是充分利用电子垃圾,那么,旧家电(电视、VCD等)的遥控器是首选,遇坏掉的遥控器,一般换掉455(KHZ)晶振即成。在电器跳蚤市场上一只遥控器只有几元钱。
2、为了使遥控器符合我们的使用要求;
1)需要解决3V直流电源,可与接收端合用一台直流稳压电源,VCD/DVD内部有现成的电源可加以利用,彩电的电源由于与市电未隔离,缺乏安全性,应慎重采用。
2)任取遥控器一按键,将其短接,使其成为连续发光的脉冲红外线源。3)在有效射程(接收灵敏度内)遇凹凸不平的保护沿线(例:凹凸阳台),可用普通平面镜进行多次反射;或者用多个发射和接收装置。接收装置
下图为本文的红外线报警接收装置的原理图(上)与电话机框图(下)连接及它们之间的连接方式。下面阐述它的工作原理:
1、由光敏管Q1将接收到的红外线转变成电流,晶振Y1对455KHZ信号呈现出相对低阻抗并由运放IC1进行放大,其放大系数由反馈系数决定,同时,它也决定着接收器的灵敏度。IC1输出信号由D5检波(整流),由C1进行滤波获得一个直流信号;由于IC2的输入为虚开路,故电路设置了LED、R4组成的放电回路,以免C1产生记忆。LED又可兼作报警指示,调试线路时非常有用,一举多得!
、由IC2、W1等组成一个具有滞回特性的电压比较触发电路,其回差由W1决定。当负向端有信号输入时并超过正端电位(1V)时,电路发生翻转,输出端由高电平瞬时转为低电平,由电容C2作用于IC3 555电路的②脚。
3、由IC3 555电路组成一个单稳态电路,输出端③脚接继电器J1(驱动电流小于300mA)。稳态时③为低电平,当前级IC2输出由高电平瞬时转为低电平时,在②脚产生一个负窄脉冲,555电路进入暂态(延时)过程,经过T=1.1R9C3的周期,555自动复位,即③由高电平转为低电平J1释放。
利用555电路的暂态过程,在③脚输出高电平J1吸合的周期内 “直流讯响器” 完成现场报警,同时还将完成现场远程的报警,它分二步: 第一步:摘机
其常开触点将话机的压簧开关①②短接,话机被摘机; 第二步:自动完成拨号(即依次按下“RECALL”和“9”):
由C6、R11的作用Q2导通较J1稍有延时,由它接通“RECALL”键;由于电话按键按下后必须放开,不然下一个拨号将无效,因此,Q1经过C7来接通电话的相关按键,由并联的高阻值电阻R13放电,消除记忆。按键两端电压将C7进行充电的过程我们将它看作是“按下”了键钮,充电结束看作为“放开” 键钮; 同理,经R12、C8的作用,Q3导通较Q2稍有延时,由它来接通话机的“9”键,其余与上相同。这里,Q3的导通时间应在C7充电结束之后。
以上二步都是在IC3 555电路的暂态过程内(J2吸合期间)完成的,故除T=1.1R9C3 参数,继电器后面的每个R、C的选择搭配非常关键。
以下是对报警器与电话机在具有商品意义上的整合,其器件不再利用旧器件,其电路的可靠程度,稳定性要远优于以上所述的。原理图见附图。
该电路的接收部分使用了德律风根HS0038B3V的红外线接收头,它已经内置了脉冲选通等电路,对环境等干扰光线均有良好的滤除效果,其输出电压幅度足以触发555电路。
电话机部分只保留摘机与拨号,使之与接收器一体化,可成为一个新产品。原理:
1、当红外线接收头Q1有脉冲红外线照射时,其OUT1为低电平,由于C1两端电压不能突变,其在IC1的②上产生一个负跳变的,其幅度低于1/3Vcc的窄脉冲,它的上升沿过1/3Vcc时作为IC1单稳电路的延时(暂态)的起点,此时③脚(OUT2)为高电平,J1吸合,对应触点闭合,完成电话的摘机;
2、OUT2的高电平,经过R4,加于IC2的②脚,使原来处于低电平(R7作用)的变为高电平,它的上升沿过1/3Vcc时作为IC2单稳电路的延时(暂态)的起点,此时③脚(OUT3)为高电平,J2吸合,对应触点闭合,完成话机“RECALL”键的拨号;
3、同理,OUT3为高电平,由J3完成将储存于“9”键的号码的拨出。所谓异地报警,可以是随身携带的手机,这样摆脱了电线的束缚。
从商品角度来看,市场上尚未有该种产品,它可替代传统的金属防盗窗,由于线路简单,经济投入很低(约在50元左右),应该有不错的市场,创业者也可以作为电子制造的入门产品。
媒体报导,上海有1800万在册人口,以平均每4人为一个家庭则有450万户,再以1%的购买率,则有4.5万用户,每台直销价若为100元,则利润为225万。若能面向全国,经济价值是比较可观的。
第三篇:技术小结
本人生于1979年7月7日,于2006年3月进入上海迪赛诺化学制药有限公司工作,在EHS部专职EHS培训管理、体系建设等工作达8年,兼职EHS内训师4年,培训对象为公司新进员工、EHS内审员、在岗人员等,培训次数约为50次以上,培训课程主要有:新员工公司级EHS基础知识及消防安全管理、EHS体系管理、EHS培训制订及实施等,现就培训管理、培训带教等工作实践小结如下:
1、在个人思想品德、政治修养方面,与党组织先进性保持一致,与时代需要同成长,关心时事,关心政治,关心民生。在从事EHS管理及培训工作后,更觉个人思想品德及职业素养的重要性,才能强化红线意识,做好安全培训,促进安全发展。
2、在个人学习方面,积极学习现代科学技术和管理技能,不断提升培训管理、培训带教的经验和能力,根据培训需要,刻苦钻研,积极自学,实现了个人成长的三个转变:
1)实现了“土八路”到“科班生”的转变;
2)完成了从“学历教育”到“职业教育”的转变;
3)做到了从“自学”到“团队学习”的转变。
3、在工作业绩方面,从2006年3月从事EHS培训相关工作以来,结合公司生产性质及行业特点,不断钻研总结,把安全培训落到实处,通过培训不断强化员工安全意识和技能及态度,为公司平安运营打下基础,主要体现在以下方面:
1)课程开发:先后开发了《公司新员工EHS及消防安全培训课程》、《EHS培训制定及实施》、《员工行为安全管理》、《作业许可管理》、《职业健康及PPE管理》、《危险源识别及风险控制》等课程,极大丰富了安全培训课程库,全面结合体系要素及公司安全发展需要。
2)教材开发:从单一的纯文字教材一统江湖转变为:文字、PPT、实物、音视频等多分天下,充分利用成人学习理念,有文字讲授、PPT演示、实物操练、音视频观看、岗位实操等。
3)授课形式和方法:在单一的课堂讲授式的基础上,运用现场实践、示范演练、岗位操作、情影模拟、案例分析、音视频、小组讨论等,比如:新员工公司级培训时将其带至公司锅炉房外空地上,进行消防器材使用实操;新员工经过公司级培训后,由岗位帮带师傅指导进行为期7天的岗位实习操作;应急处置时模拟消防报警流程等。
4)安全内训师队伍建设:建立了以各部门EHS内审员为主的内训师队伍,定期进行安全教育活动和经验交流,并建议各主管部门负责人和人事行政部对绩效优秀的内训师给予表彰和奖劢。
5)EHS培训管理:公司安全培训层次分级管理,由EHS管理小组负责公司级(一级)培训,各部门(二级)负责公司安全培训转训和部门培训,极大调动了各层级人员的参与和配合。
6)培训需求调查:培训需求首先符合法律法规,然后结合公司上事故发生原因、公司工作计划及领导的指令、官方及第三方等审计发现的缺陷项整改等,在每年第四季度进行一次书面调查,调查表格内容涵盖全面,要素充分和员工建议意见,使培训需求更具合理及可行性,能充分体现员工、岗位、公司、任务的需要。
4、在家庭社交方面,利用自已在企业培训师学习中一些知识和技能,在子女教育、朋友交往等方面给自已和家人带来一定的帮助和快乐。
5、不足之处,虽然全勤参与,没有拉下一堂课,但尚没有很好蜕变为职业培训师,需要持续修炼和成长;同时,面对新形势下公司安全培训体系建设需要不断调整,以期适应公司规划和员工自我成长的需要。
总之,企业培训师就是企业大家庭里的管理者、培训者、参与者、提供者、顾问,通过本阶段的学习,我系统掌握了企业培训师工作理念、职业道德及素养的修炼、工作规范化流程及全过程质量管理,提高了我的技能,提升了我的态度,丰富了我的知识,增强了我的自信,我将以更加激情更加勤奋的努力,更加务实的行动,投入到学习、工作、生活和人际交往的各个领域中,在领导、同事、朋友、老师的帮助和指导下,获得个人、团队和家庭的快乐,取得更大的成绩。谢谢!
朱小奇
2014年5月20日星期二
第四篇:技术小结
技术工作小结
2010年7月,我顺利完成了学业,从江西理工大学机电工程系机电一体化毕业,并于同年分配到上海宝冶集团检修工程分公司日钢项目部工作。参加工作以来,我一直从事电气工作与管理工作。下面就从专业技术角度,对我这一年半来的工作做一次全面总结:
一、学习专业知识,提高岗位技能
本人于2010年7月正式参加工作,当时我被分配上海宝冶集团检修分公司日钢项目部工作。工作开始,我发现学校里学到的专业知识同实际工作有很大的不同和差距,为了尽快转变角色,适应工作的要求,我努力学习电气专业知识,努力提高自己的岗位技能,在短短的一年内,我通过自己的努力及同事的帮助,能比较熟练地进行较复杂的电气等日常事务工作。
二、政治思想方面
在政治上,我对自己严格要求,积极参加各项政治活动,自觉学习政治理论,尤其注重对“三个代表”重要思想的学习,努力提高自己的政治理论修养,努力实践“三个代表”的重要思想和“科学发展观”,思想上行动上同党中央保持一致。具有较强的大局意识和组织观念,工作上以事业为重,不计个人得失,在新的岗位上摆正位置,把电气的事业、把广大人民群众的利益放在首位,努力实践全心全意为人民服务的根本宗旨。在工作中做到公平公正、公道正派,具有较强的敬业精神和奉献精神,工作中吃苦耐劳,积极主动,作风踏实,不推诿扯皮,讲求效率。工作中注意调查研究,勤于思考,工作思路清晰,能把科研管理的一般理论同科研工作实际相结合,积极为本系统制订符合实际的科研发展目标和科研发展措施献计献策。在大是大非和原则面前做到毫不含糊,在电气事业发展与改革中较好地发挥了一个干部应有的表率作用。
三、组织协调方面
在实际工作中,努力学会运用马克思主义的立尝观点和方法去分析、研究、解决问题,有一定的组织协调能力和科学决策水平。注意学习现代科研管理知识,较好地掌握了人文社科科研管理的一般规律。作为一名兼职的电气管理工作者,能协助部门负责人做好职工的思想政治工作,为部门工作的有效开展提供了保障。在工作中既充分相信、放手使用分管的科级干部,又注意对他们进行培养,较好地发挥了他们的作用。
四、业务能力方面
从参加工作以来,努力学习本专业的理论知识和专业技能,重视不断提高自己的业务水平和教学能力,并根据电气管理工作的实际需要,通过业余时间以不同形式学习,努力提高自己的专业技术能力和水平。通过多年的努力,本人的专业技术和驾驭工作的能力得到了较大幅度的提高,为更好的完成各项工作任务奠定了坚实的基础。
五、继续教育学习方面
为了更好地适应当前的电气管理工作,在努力做好本职工作的同时。我十分注重继续再教育学习,多次参加各级部门组织的技术培训,2010年10月,我参加了上海市质量员的职业培训,并取得专业资格证书。参加工作以来,我积极承担电气管理的各项工作任务,能够做到兢兢业业,圆满完成组织交办的各项工作任务,从不为自己的私事影响正常工作,能够积极的参加机关组织的各项活动,由于工作出色,多次受到各级领导的肯定。
六、实践生产方面在生产实践方面
例如:电动机的电气故障的查找和排除实例。
1、检查引出线 绝缘是否完好,电动机是否过热,查其接线是否符合铭牌规定,绕组和首、尾端电否正确;
2、测绝缘电阻及直流电阻 测查绝缘是否损坏。绕组中有否断路、短路及接地等现象;、通电检查 在上述检查后末发现问题时,可以直接通电试验,用三相调压器开始施加较低的电压,再逐渐上升到额定电压等。利用上述检查方法,为工厂多台电机查找故障,并将其修好。及时总结各种故障现象及解决方法,并记录在案,用来指导实践,同时也提高自己的业务水平。
七、在节能降耗方面
在节能方面,我积极运用已学的知识,为日钢项目部的节能降耗方面做了不少贡献。如对工厂线路改造方面,为工厂每年节约电能十几万度。同时又对工厂的老的设备,进行电气改造,使一些老设备重新焕发青春。
八、存在的问题
电气管理工作的力作、亮点不多,开拓创新不够,在科研上投入不够,科研管理的决策能力和水平有待提高,重大成果较少等。在今后的工作中,我一定更加努力学习,运用所学知识努力探索电气保护工作的基本规律,不断改进工作方法,提高工作效率,踏踏实实,任劳任怨,勤奋工作,成为一名合格的电气管理专业技术人员。
总之,在生产实践中做到规章制度上墙,严格按规章制度办事。一年多以来,日钢项目部水渣车间未发生一起电气引起的人生安全故障,而且通过我们所以员工的多次技术改造,设备运行更加科学化、合理化。
上海宝冶集团检修工程分公司日钢项目部
杨培荣
第五篇:2016技术小结
2016技术小结
本人于2015年7月在海巡轮担任二管轮一职至今,新的职务带来了新的管理设备,机械及电气设备,如发电机原动机及其设备,锅炉及其设备,空压机及其系统,燃油及燃油净油机.由于本人之前都是在3000千瓦及以上的船舶工作,对于3000千瓦及以下船舶不适很熟悉.在轮机长和大管理的鼓励指导下,自己专研学习在各个方面都有了提高.以下就简单汇报一下遇到的问题.如锅炉点火失败的故障,在一次航行作业过程中,厨房间要蒸汽做饭要求机舱供汽,值班机匠接电话后除去点锅炉,在点火过程中出现点火故障报警.首先要观察锅炉点火过程,判断点火失败的原因.观察后发现锅炉极棒打火但是没有燃油喷出,判断是油路问题.检查电磁阀发现开关正常,说明电磁阀良好.检查锅炉滤器发现滤器杜塞,有白色液体装物体.怀疑是混水,清洗后点火正常.燃烧时火焰忽明忽暗.随即检查油柜,打开放残阀发现大量水油混合物.随即判断此油柜中存油变质,轮机长决定换油清洗油柜.随后再次点火升汽,锅炉一切正常.在遇到故障的时候要冷静分析,不要毛躁,要通过自己的不断的学习和经验的累积才能更上一层楼.我相信在新的一年里.自己会不断的进步为船舶安全运行提供自己一份努力.王大力
2016年12月31日