当前位置:编程学习 > C#/ASP.NET >>

J#是什么?

初学者 
     请问 什么是 J#  哪位前辈能具体介绍一下  在此多谢了! --------------------编程问答-------------------- 初学的话不要去管J#,估计是为了让Java程序员更容易转到.net而弄出来



Microsoft Visual J# 使开发人员能够使用 Java 语言语法在 .NET Framework 上构建应用程序和服务。

注意: 
Visual J# 已从 Visual Studio 2008 中移除。
--------------------编程问答-------------------- Visual J# 是一种工具,供 Java 语言程序员用于构建在 .NET Framework 上运行的应用程序和服务。
  
  Visual J# 面向公共语言运行库,并可以用于在充分利用 .NET Framework 的同时开发 .NET 应用程序,包括 XML Web services 和 Web 应用程序。 --------------------编程问答-------------------- J# 是你可以在.net框架下通过java的语法来构建应用程序,个人觉得这是微软的一项策略,来吸引java程序员转投.net阵营,你初学的话,建议使用c#,这是.net下开发最适合的语言 --------------------编程问答-------------------- ··············· --------------------编程问答--------------------
引用 2 楼 oec2003 的回复:
Visual J# 是一种工具,供 Java 语言程序员用于构建在 .NET Framework 上运行的应用程序和服务。 
   
  Visual J# 面向公共语言运行库,并可以用于在充分利用 .NET Framework 的同时开发 .NET 应用程序,包括 XML Web services 和 Web 应用程序。

UP --------------------编程问答-------------------- 为什么要发两个一样的帖子呢 --------------------编程问答-------------------- .net vs 主要还是C#的开发工具,其他几种语言也支持 如VB,JAVA,C++,等
支持VB 叫VB.NET ,支持JAVA 的是 J# .NET,支持C++的是C++.NET/.
.NET 是一个开发平台,无论是C#,J#,VB.NET等 都只是这个平台上的工具,如果你熟悉 VS ,那就不能理解这个关系.
说白了 J# 是为那些JAVA 程序开发一款可以在 VS.NET 上开发的语言,但他只含有JAVA 的一部分,是个鸡肋.
如果没必要就不要学习这个,都不如 学JAVA 或C # . --------------------编程问答-------------------- 走错门了

去学C#

J#是个太监 --------------------编程问答-------------------- --------------------编程问答-------------------- 8楼说的有点意思 --------------------编程问答-------------------- 8楼的比喻  非常贴切   哈哈 --------------------编程问答-------------------- J#概述
  Visual J# 是一种工具,供 Java 语言程序员用于构建在 .NET Framework 上运行的应用程序和服务。
  Visual J# 面向公共语言运行库,并可以用于在充分利用 .NET Framework 的同时开发 .NET 应用程序,包括 XML Web services 和 Web 应用程序。Visual J# 应用程序从下列功能中获益: 
  跨语言集成 
  增强的安全性 
  版本控制和部署支持 
  调试和分析服务 
  J#和java有什么区别?
  java是一种跨平台,跨操作系统的编程开发语言,基本都是靠底层JDK功劳,JDK也有很多厂家,有主流的SUN公司标准,也有IBM标准还有很多标准,JDK有不同的操作系统版本,比如在windows下按一个win版本的JDK开发出来的java项目,拿到一个安有linux版本的linux操作系统中,正常使用,这主要是jdk的功劳。 
  再说说j#,它是微软开发的一套java平台,之前叫做VJ(和VB,VC一样),由于版权和利益的纠纷,结果微软被判停止开发java,由于微软的一代开发平台.net的问世,很多语言都集成入内,VJ虽然已经停止了升级和开发,但是也有少量的用户,所以j#是.net平台下的java语言规范。
  Visual J# 中默认的源文件扩展名是 .jsl。Visual J# 包含以下内容:
  将 Java 语言源编译为 Microsoft® 中间语言 (MSIL) 的 Visual J# 编译器。
  将 Java 语言字节码转换为 MSIL 的二进制转换器。
  独立开发的类库旨在提供一些功能,该功能与大多数 JDK 1.1.4 级类库的功能等效,也等效于大学理事会的计算机科学高级能力分班课程中指定的 JDK 1.2 java.util 软件包的许多类的功能
  与 Windows® 基础类 (WFC) 和许多 com.ms.* 软件包兼容。
  Visual J# 编译器只能在 Visual Studio 2005 中创建 32 位的应用程序。在 64 位的 Windows 操作系统上运行时,使用 Microsoft Visual J# 2005 编译的应用程序将会在 WOW64 (Windows on Windows64) 下运行。 
  但是 Visual J#:
  不能将 Java 语言源代码编译成 Java 语言字节码格式,即 .class 文件。
  不支持创建在 Java 虚拟机上运行的应用程序的能力。
  不支持 Java 本机接口 (JNI)、原始本机接口 (RNI) 和远程方法调用 (RMI)。
  Microsoft Visual J# 2005 不用于开发打算运行于 Java 虚拟机上的应用程序。使用 Visual J# 生成的应用程序和服务将只能在 .NET Framework 上运行。Visual J# 是由 Microsoft 独立开发的。它未经 Sun Microsystems, Inc. 认可或批准。




转自百度百科 --------------------编程问答-------------------- java和c#生的儿子叫J# --------------------编程问答-------------------- --------------------编程问答--------------------
引用 13 楼 w11x22b33 的回复:
java和c#生的儿子叫J#


有意思有意思~~哈哈 --------------------编程问答--------------------
引用 13 楼 w11x22b33 的回复:
java和c#生的儿子叫J#



哈哈 --------------------编程问答-------------------- 他们的儿子没有小jj --------------------编程问答-------------------- J#是微软恶心JAVA的 --------------------编程问答-------------------- 8楼说的是实话 --------------------编程问答-------------------- 原来是这样
--------------------编程问答-------------------- --------------------编程问答-------------------- 3楼的说法,我支持! --------------------编程问答--------------------
引用 17 楼 ymdcr 的回复:
他们的儿子没有小jj

有见地! --------------------编程问答-------------------- java是一种跨平台,跨操作系统的编成开发语言,基本都是靠底层JDK功劳,JDK也有很多厂家,有主流的SUN公司标准,也有IBM标准还有很多标准,JDK有不同的操作系统版本,比如在windows下按一个win版本的JDK开发出来的java项目,拿到一个安有linux版本的linux操作系统中,正常使用,这主要是jdk的功劳。 
在说说j#,它是微软开发的一套java平台,之前叫做VJ(和VB,VC一样),由于版权和利益的纠纷,结果微软被判停止开发java,由于微软的一代开发平台.net的问世,很多语言都集成入内,VJ虽然已经停止了升级和开发,但是也有少量的用户,所以j#是.net平台下的java语言规范。 --------------------编程问答-------------------- ......................... --------------------编程问答-------------------- 顶 8 楼!!!!!!!!!!!!!!!!!!!!!!!! --------------------编程问答-------------------- 有意思有意思 --------------------编程问答--------------------
引用 8 楼 cppfaq 的回复:
走错门了

去学C#

J#是个太监

呵呵 up --------------------编程问答-------------------- J# 微软还很牛B --------------------编程问答-------------------- 我围观。。。。。。。。 --------------------编程问答-------------------- 竞选时态 --------------------编程问答-------------------- nkolljljljljljljlkjlkjoijij --------------------编程问答-------------------- 这个问题已经被讨论无数遍了 --------------------编程问答-------------------- 都好搞... --------------------编程问答-------------------- 走过,路过 --------------------编程问答-------------------- J#概述
  Visual J# 是一种工具,供 Java 语言程序员用于构建在 .NET Framework 上运行的应用程序和服务。  
Visual J# 面向公共语言运行库,并可以用于在充分利用 .NET Framework 的同时开发 .NET 应用程序,包括 XML Web services 和 Web 应用程序。Visual J# 应用程序从下列功能中获益:   跨语言集成   增强的安全性   版本控制和部署支持   调试和分析服务
编辑本段J#和java有什么区别?
  java是一种跨平台,跨操作系统的编程开发语言,基本都是靠底层JDK功劳,JDK也有很多厂家,有主流的SUN公司标准,也有IBM标准还有很多标准,JDK有不同的操作系统版本,比如在windows下安装一个win版本的JDK开发出来的java项目,拿到一个安装有linux版本的linux操作系统中,正常使用,这主要是jdk的功劳。   再说说j#,它是微软开发的一套java平台,之前叫做VJ(和VB,VC一样),由于版权和利益的纠纷,结果微软被判停止开发java,由于微软的新一代开发平台.net的问世,很多语言都集成入内,VJ虽然已经停止了升级和开发,但是也有少量的用户,所以j#是.net平台下的java语言规范。
编辑本段Visual J#包含的内容
  Visual J# 中默认的源文件扩展名是 .jsl。Visual J# 包含以下内容:   将 Java 语言源编译为 Microsoft® 中间语言 (MSIL) 的 Visual J# 编译器。   将 Java 语言字节码转换为 MSIL 的二进制转换器。   独立开发的类库旨在提供一些功能,该功能与大多数 JDK 1.1.4 级类库的功能等效,也等效于大学理事会的计算机科学高级能力分班课程中指定的 JDK 1.2 java.util 软件包的许多类的功能   与 Windows® 基础类 (WFC) 和许多 com.ms.* 软件包兼容。   Visual J# 编译器只能在 Visual Studio 2005 中创建 32 位的应用程序。在 64 位的 Windows 操作系统上运行时,使用 Microsoft Visual J# 2005 编译的应用程序将会在 WOW64 (Windows on Windows64) 下运行。   但是 Visual J#:   不能将 Java 语言源代码编译成 Java 语言字节码格式,即 .class 文件。   不支持创建在 Java 虚拟机上运行的应用程序的能力。   不支持 Java 本机接口 (JNI)、原始本机接口 (RNI) 和远程方法调用 (RMI)。   Microsoft Visual J# 2005 不用于开发打算运行于 Java 虚拟机上的应用程序。使用 Visual J# 生成的应用程序和服务将只能在 .NET Framework 上运行。Visual J# 是由 Microsoft 独立开发的。它未经 Sun Microsystems, Inc. 认可或批准。 --------------------编程问答-------------------- 我是来拿积分的 --------------------编程问答-------------------- 原来如此 --------------------编程问答-------------------- 原来如此  哈哈哈
--------------------编程问答-------------------- 学习了,原来如此 --------------------编程问答-------------------- 重发加载电子标签数据
VOID ResendFruLoadData(UCHAR ucChanNum, UCHAR ucTcbPos)
UCHAR   ucLoadState = y7;y9;
 PCCU_CHAN_T pstChan = y8;PRS485_BOARD_T    pstNode = y8;
ulResId = y1.ulResourceId;j4;
if (y8 == pstNode) { DBG_DOWNLOAD;return;}  
ucLoadState = y1.ucLoadState;
//重发if (LABEL_LOAD_SEND == ucLoadState){DBG_DOWNLOAD;
(VOID)ResendLabelLoadCmd(ucTcbPos, ucChanNum, pstNode);}return;
重发加载数据
VOID ResendLoadData(UCHAR ucChanNum, UCHAR ucTcbPos)
CCU_LOAD_TYPE_ENUM enLoadType = CCU_LOAD_BOARD_INVALID;
    enLoadType = y1.enLoadType; 
y1.ucTimeCnt = 0;y1.ucRepeatTime--;switch (enLoadType)
{case CCU_LOAD_APP :ResendAppData(ucChanNum, ucTcbPos);break;
case CCU_LOAD_ELABEL :case CCU_LOAD_CABINET_FRUINFO :
ResendFruLoadData(ucChanNum, ucTcbPos);break;
default: DBG_DOWNLOAD;break;}return; 
加载超时处理
VOID RptLoadDownTimeOut(UCHAR ucChanNum, UCHAR ucTcbPos)
y9;CCU_LOAD_TYPE_ENUM enType = CCU_LOAD_BOARD_INVALID;
ulResId = y1.ulResourceId;enType = y1.enLoadType;
ReportLoadSchedToPdt(ulResId, enType, CCU_ERR_MPI_TIMEOUT);
/* 清理加载的数据 */ CCU485ClearLoadData(ucChanNum, ucTcbPos);return;
处理加载超时
VOID ProcLoadDownTimeOut(UCHAR ucChanNum, UCHAR ucTcbPos)
if (y1.ucRepeatTime > 0){//重发ResendLoadData(ucChanNum, ucTcbPos);}else{  
RptLoadDownTimeOut(ucChanNum, ucTcbPos);   }return;
定时轮询加载表
VOID CycLoadDownTcb()
UINT32 i = 0; UINT32 j = 0;
for ( i = 0 ; i <  MAX_CCU_CHAN_NUM; i++ )
{for ( j = 0 ; j < MAX_NODE_NUM ; j++ ){
if (CCU_TRUE == y3.ucUseFlg){if ( y7 != y3.ucWaitTime){
y3.ucTimeCnt++;if (y3.ucTimeCnt >= y3.ucWaitTime){
ProcLoadDownTimeOut((UCHAR)i, (UCHAR)j);}}}}}return;  
定时轮询获取电子标签控制表
VOID CycGetFruTcb()
UINT32 i = 0;UINT32 j = 0;y9;LABEL_TYPE enLabel_Type;
for ( i = 0 ; i <  MAX_CCU_CHAN_NUM; i++ ){
for ( j = 0 ; j < GET_FRU_TAB_SIZE ; j++ ){
if (CCU_TRUE == y4.ucUseFlg){if ( y7 != y4.ucWaitTime)
{y4.ucTimeCnt++;if (y4.ucTimeCnt >= y4.ucWaitTime)
{ulResId = y4.ulResId;enLabel_Type =  y4.enLabel_Type;j2;
{ReportGetFileSchedToPdt(ulResId, enLabel_Type, CCU_ERR_MPI_TIMEOUT);}
CCU485ClearGetFruTab((UCHAR)i, (UINT16)j); } } }}}return;  
处理内部FRU命令
UINT32 Proc485InterFruCmd(PDOWN_485_FRAME pSt485Msg, UCHAR *pucIsProcess)
UINT32 ulRet = CCU_ERR;PRS485_BOARD_T pNode  = y8;PCCU_CHAN_T pChan = y8;
UCHAR cmd_buffer[MAX_485_DATA_LEN] = {0};  
UCHAR  ucChanNum    = y7;LABEL_TYPE enLabel_Type;
CHECK;ucChanNum = Get485ChanNo(pSt485Msg->ulResId);
if ( ucChanNum >= MAX_CCU_CHAN_NUM ){return CCU_ERR_MPI_INVALID_PARAMS;}
enLabel_Type = g_ast485GetFruTab[ucChanNum].astFruUint[pSt485Msg->uwSeq].enLabel_Type;
 switch(pSt485Msg->ucCmd){case SMS_485_GET_FRU_CMD:            
ulRet = ProcRs485GetFruMsg(pSt485Msg);
if  (CCU_OK != ulRet){j2{ConvRetToRet(ulRet);
ReportGetFileSchedToPdt(pSt485Msg->ulResId, enLabel_Type, ulRet);}j1;j5;              
if (CCU_ERR_MPI_LOAD_TASK_UNFINISHED != ulRet){j3;}  }return ulRet;
case SMS_485_GET_FRU_EXC_CMD:
ulRet = Rs485GetFruInfoExc(pSt485Msg);
if (CCU_OK != ulRet){j2{ConvRetToRet(ulRet);
ReportGetFileSchedToPdt(pSt485Msg->ulResId, enLabel_Type, ulRet);
}j1;j5;j3;}return ulRet;default: break;}return CCU_OK;            
--------------------编程问答-------------------- g_ast485DownLoadTab[ucChanNum].astDataUint[ucTcbPos] y1
g_ast485DownLoadTab[ucChanIndex].astDataUint[uwIndex] y2
g_ast485DownLoadTab[i].astDataUint[j] y3 ulCurBlk y6
g_ast485GetFruTab[i].astFruUint[j] y4   ulTotalBlk y5
CCU_NULL_BYTE y7 CCU_NULL_PTR y8 UINT32  ulResId  = CCU_NULL_LONG y9

PutResultToFruTxTab(ulRet, pSt485Msg, 0, cmd_buffer) j1
if (BOARD_LOG_TYPE == enLabel_Type) j2
pNode->enBoardState = CCU_NODE_STATE_RUNNING j3
(VOID)GetChanNode(ulResId, &pstChan, &pstNode) j4
(VOID)GetChanNode(pSt485Msg->ulResId, &pChan, &pNode);
CHECK_PARA1_NULL_RN(pNode,  CCU_ERR_MPI_INVALID_PARAMS);  j5
重发加载APP软件的数据
UINT32 Resend485AppLoadSegment(UINT16 ucTcbPos, UCHAR ucChanNum, PRS485_BOARD_T pstNode)
{
    UINT32  ulRet           = CCU_NULL_LONG;
    UINT32  y6        = 0;
    UINT32  y5      = 0;
    UINT32  ulDeltaBlk      = 0;
    UCHAR   i = 0;
    UINT32  ulBakBlk        = 0;
    CHECK;
    DBG_DOWNLOAD;
    y6 = y1.y6;y5 = y1.y5;if ( y5 < y6)
    {DBG_DOWNLOAD;return CCU_ERR;}
    ulDeltaBlk = ((y5 > y6 + WINDOW_WIDTH) ? WINDOW_WIDTH : (y5 - y6));
    
    /* 因为是重发所以需要 */
    ulBakBlk =  y1.y6;
    y1.y6 = y6 - ulDeltaBlk;
    y6 = y1.y6;

    /* 一次下发10帧的数据 */
    for ( i = 0 ; (i < WINDOW_WIDTH) && (i < (y5 - y6)); i++)
    {ADA_Sleep(100);
ulRet = CCU485LoadSegmentSend(ucTcbPos,ucChanNum,pstNode);
if ( CCU_OK != ulRet ){y1.y6 = ulBakBlk;
ConvRetToRet(ulRet);DBG_DOWNLOAD;return ulRet;}}return CCU_OK;
重复加载数据
VOID ResendAppData(UCHAR ucChanNum, UCHAR ucTcbPos)
    UCHAR   ucLoadState = y7;
    y9;
    PCCU_CHAN_T pstChan = y8;
    PRS485_BOARD_T pstNode = y8;

    ulResId = y1.ulResourceId;

    j4;if (y8 == pstNode){DBG_DOWNLOAD;return;}
    ucLoadState = y1.ucLoadState;
    if (LOAD_SEGMENT_SEND == ucLoadState) {           
 (VOID)Resend485AppLoadSegment(ucTcbPos, ucChanNum, pstNode);}return;
重发电子标签数据
UINT32 ResendLabelLoadCmd(UINT16 uwIndex, UCHAR ucChanIndex, PRS485_BOARD_T pstNode)
UINT32  ulRet  = CCU_ERR;UINT16  uwLen   = 0;
UINT32  y6    = 0;UINT32  y5      = 0;CHECK;DBG_DOWNLOAD;
if (y2.y6 < 1 ){DBG_DOWNLOAD;return CCU_ERR;}
y2.y6 -= 1;y6 = y2.y6;y5 = y2.y5;if (y6 == y5 - 1){
uwLen   = (UINT16)(y2.ulMainBufLen  - (y6 * ELECLABEL_FRAME_LEN)); 
} else{uwLen   = ELECLABEL_FRAME_LEN; }
y2.uwFruAddr -= uwLen;
ADA_Sleep(100);   
ulRet   = LabelLoadCmdSend(uwIndex, ucChanIndex, pstNode);
if (CCU_OK != ulRet){ConvRetToRet(ulRet);
DBG_DOWNLOAD;return ulRet;}return CCU_OK; --------------------编程问答-------------------- 学习   新手~~~
补充:.NET技术 ,  其他语言
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,