技术标签: Unity Yanlz Steam SteamVR 立钻哥哥 VR
SteamVR简介 |
版本 |
作者 |
参与者 |
完成日期 |
备注 |
SteamVR_Intro_V01_1.0 |
严立钻 |
|
2019.01.14 |
|
|
|
|
|
|
##《SteamVR简介》发布说明:
++++“SteamVR简介”:是对SteamVR的一个介绍;(昨天,我们发布了一个“OpenVR&OpenXR”简介,得知SteamVR是依赖于OpenVR的,所以我们今天开始探索一下“SteamVR”,OpenVR是C++接口,通过SteamVR的集成兼容可以得到我们想要的Unity使用的C#接口,这样更有利于Unity项目开发,所以我们将2019年度的重点技术突破点确立为:“SteamVR”,这个主题将会贯穿2019年!)
++++“SteamVR简介”:定位在一个介绍类知识,对于没有SteamVR知识的一个探索总结;
++++OpenVR的Github:https://github.com/ValveSoftware/openvr
++++OpenXR官网:https://www.khronos.org/openxr
++++SteamVR的Github:https://github.com/ValveSoftware/steamvr_unity_plugin
##《SteamVR简介》目录
#第一篇:网络杂谈篇
#第二篇:视频杂谈篇
#第三篇:文档杂谈篇
#第四篇:项目杂谈篇
#第一篇:网络杂谈篇 |
#第一篇:网络杂谈篇
++++立钻哥哥:“网络杂谈篇”是对SteamVR知识的全网搜索,利用“SteamVR”;
++++A.1、SteamVR百度百科
++++A.2、SteamVR插件简介
++++A.3、Unity3D导入SteamVR Plugin错误汇总及原理解析
++++A.4、SteamVR SDK学习笔记
++++A.5、SteamVR2.0插件使用指南
++++A.6、
++++A.7、
##A.1、SteamVR百度百科 |
++A.1、SteamVR百度百科
++++立钻哥哥:OpenVR是SteamVR API:开发免费使用;
++++OpenVR为VR游戏提供统一的数据接口,从而使得VR游戏不用直接与厂商的SDK打交道;
++++OpenVR可以独立于游戏来添加扩展新外设;
++++OpenVR的Github:https://github.com/ValveSoftware/openvr
++SteamVR是依赖OpenVR的
++++立钻哥哥:SteamVR是一个Runtime;
++++SteamVR是通过Steam安装在电脑上的,OpenVR是提供API的;
++++通过SteamVR,不同的VR系统(Unity,UE等)调用OpenVR的API来开发应用程序,还可在OpenVR中添加驱动来对接VR硬件;
++++SteamVR平台主要是为VIVE服务的,但是它也兼容了OSVR、Rift和Touch的驱动;
++OpenVR的API都是以C++接口类方式呈现
++++立钻哥哥:OpenVR的API都是以C++接口类方式呈现的,而且都是纯虚函数;
++++当应用程序初始化系统时,OpenVR会返回该应用程序所使用到的SDK头文件内相匹配的接口;
++++OpenVR新发布的接口版本会兼容以前的接口版本,因此,应用程序不必更新到最新的SDK也可正常使用;
++SteamVR变得越来越开放
++++立钻哥哥:SteamVR变得越来越开放;越来越多的VR头显将“支持Steam”作为卖点之一;
++++HTC最早拉上了Valve作为合作伙伴,不仅由于SteamVR本来就是个现成的内容池,Valve对于VR软硬件的固有经验,也成为第三方开发商相继入驻的标杆;
++++雷蛇OSVR最大的意义在于为第三方硬件商提供了捷径,新生产品能够迅速接入最具竞争力的平台;
++++微软宣布Windows VR头显将全部接入SteamVR,这意味着与其合作的联想、宏碁、戴尔等老牌电子产品制造商也快速加入;
++++Oculus Rift和PSVR的封闭平台一直为人诟病;(Oculus几乎将钱都花在了游戏内容打造和独占签约上)
##A.2、SteamVR插件简介 |
++A.2、SteamVR插件简介
++++立钻哥哥:SteamVR可以在Unity Store下载插件;
++SteamVR的GitHub
++++立钻哥哥:SteamVR的GitHub:https://github.com/ValveSoftware/steamvr_unity_plugin
++SteamVR的目录结构
++++立钻哥哥:SteamVR的目录结构;
++++[SteamVR/Plugins/]:主要是一些API相关;
++制作VR Camera(VR视角)
++++立钻哥哥:如果需要做一款VR游戏,需要把摄像机调成VR视角;
++++[方法1]:使用预制的VR摄像机;
++++[方法2]:将普通的摄像机修改成VR摄像机;
##A.3、Unity3D导入SteamVR Plugin错误汇总及原理解析 |
++A.3、Unity3D导入SteamVR Plugin错误汇总及原理解析
++++立钻哥哥:汇总Unity3D中导入SteamVR Plugin资源包报错;
错误码 |
报错内容 |
0 |
HmdError_None |
1 |
HmdError_Unknown |
100 |
HmdError_Init_InstallationNotFound |
101 |
HmdError_Init_InstallationCorrupt |
102 |
HmdError_Init_VRClientDLLNotFound |
103 |
HmdError_Init_FileNotFound |
104 |
HmdError_Init_FactoryNotFound |
105 |
HmdError_Init_InterfaceNotFound |
106 |
HmdError_Init_InvalidInterface |
107 |
HmdError_Init_UserConfigDirectoryInvalid |
108 |
HmdError_Init_HmdNotFound |
109 |
HmdError_Init_NotInitialized |
110 |
HmdError_Init_PathRegistryNotFound |
111 |
HmdError_Init_NotConfigPath |
112 |
HmdError_Init_NoLogPath |
113 |
HmdError_Init_PathRegistryNotWritable |
200 |
HmdError_Driver_Failed |
201 |
HmdError_Driver_Unknown |
202 |
HmdError_Driver_HmdUnKnown |
203 |
HmdError_Driver_NotLoaded |
204 |
HmdError_Driver_RuntimeOutOfDate |
205 |
HmdError_Driver_HmdInUse |
300 |
HmdError_IPC_ServerInitFailed |
301 |
HmdError_IPC_ConnectFailed |
302 |
HmdError_IPC_SharedStateInitFailed |
303 |
HmdError_IPC_CompositorInitFailed |
304 |
HmdError_IPC_MutexInitFailed |
1000 |
HmdError_VendorSpecific_UnableToConnectToOculusRuntime |
2000 |
HmdError_Steam_SteamInstallationNotFound |
Tips |
立钻哥哥带您分析[SteamVR Plugin]导入报错; |
++++[0 :HmdError_None]:无错误;
++++[1 :HmdError_Unknown]:未知错误;
++++[100 :HmdError_Init_InstallationNotFound]:在路径注册表中指定的安装文件夹不存在;
++++[101 :HmdError_Init_InstallationCorrupt]:在路径注册表中指定的安装文件夹没有bin文件;
++++[102 :HmdError_Init_VRClientDLLNotFound]:bin文件夹中没有vrclient.dll或系统对应的动态库;
++++[103 :HmdError_Init_FileNotFound]:驱动不能加载;
++++[104 :HmdError_Init_FactoryNotFound]:vrclient.dll中的工厂方法找不到,是vrclient.dll出现异常吗?
++++[105 :HmdError_Init_InterfaceNotFound]:VR_Init或VR_GetGenericInterface请求的接口不存在,是使用的SDK版本比安装的runtime版本更新吗?
++++[106 :HmdError_Init_InvalidInterface]:错误码当前没有被使用;
++++[107 :HmdError_Init_UserConfigDirectoryInvalid]:路径注册表中的配置目录不可写;
++++[108 :HmdError_Init_HmdNotFound]:HMD没有添加到系统或者HMD没有初始化;
++++[109 :HmdError_Init_NotInitialized]:如果VR_GetGenericInterface在VR_Init之前或者在VR_Shutdown之后被调用会返回这个错误;
++++[110 :HmdError_Init_PathRegistryNotFound]:VR路径注册文件不能被读;重新安装OpenVR runtime或Steam上的SteamVR应用程序;
++++[111 :HmdError_Init_NoConfigPath]:配置路径没有在路径注册表中指定;
++++[112 :HmdError_Init_NoLogPath]:log路径没有在路径注册表中指定;
++++[113 :HmdError_Init_PathRegistryNotWritable]:VR路径注册表不可写;
++++[200 :HmdError_Driver_Failed]:驱动初始化失败,内部错误;
++++[201 :HmdError_Driver_Unknown]:驱动由于位置原因失败,内部错误;
++++[202 :HmdError_Driver_HmdUnknown]:驱动未检测到HMD,内部错误;
++++[203 :HmdError_Driver_NotLoaded]:在该驱动发出请求前,还没有加载,内部错误;
++++[204 :HmdError_Driver_RuntimeOutOfDate]:如果一个驱动自带runtime,那么需要更新它的runtime;
++++[205 :HmdError_Driver_HmdInUse]:另外一个非OpenVR的应用程序正在使用HMD;
++++[300 :HmdError_IPC_ServerInitFailed]:OpenVR不能够启动vrserver;
++++[301 :HmdError_IPC_ConnectFailed]:多次尝试后,OpenVR不能链接到vrserver或vrcompositor;
++++[302 :HmdError_IPC_SharedStateInitFailed]:vrserver或vrcompositor的共享内存不能够打开;
++++[303 :HmdError_IPC_CompositorInitFailed]:OpenVR不能够启动vrcompositor;
++++[304 :HmdError_IPC_MutexInitFailed]:OpenVR不能够创建互斥量来与vrcompositor通信;
++++[1000 :HmdError_VendorSpecific_UnableToConnectToOculusRuntime]:由于未知原因导致到Oculus runtime的连接失败;
++++[2000 :HmdError_Steam_SteamInstallationNotFound]:当前没有使用的错误码;(报错原因:Unity3D中内置的OpenVR和SteamVR驱动版本不对应导致)
##A.4、SteamVR SDK学习笔记 |
++A.4、SteamVR SDK学习笔记
++++立钻哥哥:分析SteamVR中各脚本的功能;
##A.5、SteamVR2.0插件使用指南 |
++A.5、SteamVR2.0插件使用指南
++++立钻哥哥:随着VR生态的日益增长,以及Valve Knuckles控制器的逐渐完善,SteamVR未来能够提供给用户更多的交互方式,比如手指跟踪和力反馈;
++++近期,Valve在Unity资源商店中将SteamVR插件更新到了2.0版:
++概述
++++立钻哥哥:三年前(2015年),SteamVR SDK for Unity插件的第一个版本在Unity资源商店发布,在以后的时间里,VR生态发生了很多变化,比较显著的是出现了很多不同类型的控制器,如下图:
++++随着越来越多的VR设备推出,控制器类型逐渐趋向于碎片化;每当有新的控制器发布,都会给开发者带来一些额外的工作量:游戏项目需要修改交互代码以适配新的设备;
++++从开发层面上来看,不同的控制器具有不同的键值映射,所以,当现有VR应用程序移植到另外一个VR平台的时候,需要针对目标平台进行交互适配;鉴于此,Valve为Unity开发者推出了SteamVR Unity Plugin.0(简称SteamVR2.0),能够使开发者在编程中专注于用户的动作,而不是具体的控制器按键;
++重要更新:Input System
++++立钻哥哥:SteamVR2.0的重要更新是加入了[Input System];
++++推出[Input System]的目的,是为了更加符合OpenXR标准,以及配合即将正式推出的Knuckles控制器;
++++目前多数主流VR平台均加入了OpenXR开放标准:
++++[Input System]与之前处理用户输入有显著的不同,使用[SteamVR Input System],开发人员可以在应用程序之外定义默认的动作并与按键进行绑定,而不需要将输入视为某一特定设备的特定按键;这样新的设备可以快速适配应用程序,无需更改代码;
++++比如:当开发者检测玩家是否抓取某个物体的时候,不是检测Vive等控制器的Trigger键或Oculus Touch控制器的Grip键是否被按下,而是检测预定义的“Grab”动作是否为True即可;(作为开发者,可以在SteamVR中为Grab动作设置默认按键和阈值,当程序运行时,也可修改这些数值以满足玩家的个人偏好);基于这种机制,不光能够解决控制器碎片化的问题,也可以快速适配未来发布的设备;
++动作(Actions)
++++立钻哥哥:[Input System]的核心概念是动作(Action),基于动作的输入系统对于游戏引擎来说更有意义,Unreal一直在沿用这种方案,而Unity目前在开发中的输入系统也将遵循这一原则;
++++开发中需要放弃之前关于“按下某个按键发生什么事情”的思想,取而代之的是使用“做出某个动作发生什么事情”的思想;
++++SteamVR2.0将动作抽象为以下6种类型:Boolean、Single、Vector2、Vector3、Pose、Skeleton等类型;
++++[Boolean]类型的动作代表只有两种状态的动作:True或False,比如抓取(Grab)动作,只有抓取或未抓取两种状态,不存在中间状态;(在Unity中对应类为:SteamVR_Action_Boolean);
++++[Single]类型的动作能够返回0~1之间的数值,比如Trigger键按下到松开的过程;(在Unity中对应类为:SteamVR_Action_Single);
++++[Vector2]类型动作能够返回二维数,比如Touchpad上的触摸或手柄摇杆;使用这样的数值能够控制物体在四个方向的运动,典型的应用是使用Touchpad控制无人机或小车的运动;(在Unity中对应类为:SteamVR_Action_Vector2);
++++[Vector3]类型的动作能够返回三维数值;(在Unity中对应类为SteamVR_Action_Vector3);
++++[Pose]类型的动作表示三维空间中的位置和旋转,一般用于跟踪VR控制器;(在Unity中对应类为SteamVR_Action_Pose);
++++[Skeleton]类型的动作能够获取用户在持握手柄控制器时的手指关节数据,通过返回数据,结合手部渲染模型,能够更加真实的呈现手部在虚拟世界的姿态,虽然不及像Leap Motion等设备获取手指输入那样精确,但是足以获得良好的沉浸感;(在Unity中对应类为:SteamVR_Action_Skeleton);
++立钻哥哥推荐的拓展学习链接(Link_Url):
立钻哥哥推荐的拓展学习链接(Link_Url) |
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
++++HTC_VIVE开发基础:https://blog.csdn.net/VRunSoftYanlz/article/details/81989970
++++Oculus杂谈:https://blog.csdn.net/VRunSoftYanlz/article/details/82469850
++++Oculus安装使用:https://blog.csdn.net/VRunSoftYanlz/article/details/82718982
++++SteamVR简介:https://blog.csdn.net/VRunSoftYanlz/article/details/86484254
++++OpenXR简介:https://blog.csdn.net/VRunSoftYanlz/article/details/85726365
++++VRTK杂谈:https://blog.csdn.net/VRunSoftYanlz/article/details/82562993
++++VRTK快速入门(杂谈):https://blog.csdn.net/VRunSoftYanlz/article/details/82955267
++++VRTK官方示例(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82955410
++++VRTK代码结构(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82780085
++++VRTK(SceneResources):https://blog.csdn.net/VRunSoftYanlz/article/details/82795400
++++VRTK_ControllerEvents:https://blog.csdn.net/VRunSoftYanlz/article/details/83099512
++++VRTK_InteractTouch:https://blog.csdn.net/VRunSoftYanlz/article/details/83120220
++++VR实验:以太网帧的构成:https://blog.csdn.net/VRunSoftYanlz/article/details/82598140
++++FrameVR示例V0913:https://blog.csdn.net/VRunSoftYanlz/article/details/82808498
++++FrameVR示例V1003:https://blog.csdn.net/VRunSoftYanlz/article/details/83066516
++++SwitchMachineV1022:https://blog.csdn.net/VRunSoftYanlz/article/details/83280886
++++PlaySceneManagerV1022:https://blog.csdn.net/VRunSoftYanlz/article/details/83280886
++++Unity5.x用户手册:https://blog.csdn.net/VRunSoftYanlz/article/details/81712741
++++Unity面试题ABC:https://blog.csdn.net/vrunsoftyanlz/article/details/78630687
++++Unity面试题D:https://blog.csdn.net/VRunSoftYanlz/article/details/78630838
++++Unity面试题E:https://blog.csdn.net/vrunsoftyanlz/article/details/78630913
++++Unity面试题F:https://blog.csdn.net/VRunSoftYanlz/article/details/78630945
++++Cocos2dx面试题:https://blog.csdn.net/VRunSoftYanlz/article/details/78630967
++++禅道[zentao]:https://blog.csdn.net/VRunSoftYanlz/article/details/83964057
++++Lua快速入门篇(Xlua拓展):https://blog.csdn.net/VRunSoftYanlz/article/details/81173818
++++Lua快速入门篇(XLua教程):https://blog.csdn.net/VRunSoftYanlz/article/details/81141502
++++Lua快速入门篇(基础概述):https://blog.csdn.net/VRunSoftYanlz/article/details/81041359
++++框架知识点:https://blog.csdn.net/VRunSoftYanlz/article/details/80862879
++++游戏框架(UI框架夯实篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80781140
++++游戏框架(初探篇):https://blog.csdn.net/VRunSoftYanlz/article/details/80630325
++++设计模式简单整理:https://blog.csdn.net/vrunsoftyanlz/article/details/79839641
++++专题:设计模式(精华篇):https://blog.csdn.net/VRunSoftYanlz/article/details/81322678
++++U3D小项目参考:https://blog.csdn.net/vrunsoftyanlz/article/details/80141811
++++Unity案例(Vehicle):https://blog.csdn.net/VRunSoftYanlz/article/details/82355876
++++UML类图:https://blog.csdn.net/vrunsoftyanlz/article/details/80289461
++++Unity知识点0001:https://blog.csdn.net/vrunsoftyanlz/article/details/80302012
++++Unity知识点0008:https://blog.csdn.net/VRunSoftYanlz/article/details/81153606
++++U3D_Shader编程(第一篇:快速入门篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372071
++++U3D_Shader编程(第二篇:基础夯实篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372628
++++Unity引擎基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78881685
++++Unity面向组件开发:https://blog.csdn.net/vrunsoftyanlz/article/details/78881752
++++Unity物理系统:https://blog.csdn.net/vrunsoftyanlz/article/details/78881879
++++Unity2D平台开发:https://blog.csdn.net/vrunsoftyanlz/article/details/78882034
++++UGUI基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78884693
++++UGUI进阶:https://blog.csdn.net/vrunsoftyanlz/article/details/78884882
++++UGUI综合:https://blog.csdn.net/vrunsoftyanlz/article/details/78885013
++++Unity动画系统基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78886068
++++Unity动画系统进阶:https://blog.csdn.net/vrunsoftyanlz/article/details/78886198
++++Navigation导航系统:https://blog.csdn.net/vrunsoftyanlz/article/details/78886281
++++Unity特效渲染:https://blog.csdn.net/vrunsoftyanlz/article/details/78886403
++++Unity数据存储:https://blog.csdn.net/vrunsoftyanlz/article/details/79251273
++++Unity中Sqlite数据库:https://blog.csdn.net/vrunsoftyanlz/article/details/79254162
++++WWW类和协程:https://blog.csdn.net/vrunsoftyanlz/article/details/79254559
++++Unity网络:https://blog.csdn.net/vrunsoftyanlz/article/details/79254902
++++C#事件:https://blog.csdn.net/vrunsoftyanlz/article/details/78631267
++++C#委托:https://blog.csdn.net/vrunsoftyanlz/article/details/78631183
++++C#集合:https://blog.csdn.net/vrunsoftyanlz/article/details/78631175
++++C#泛型:https://blog.csdn.net/vrunsoftyanlz/article/details/78631141
++++C#接口:https://blog.csdn.net/vrunsoftyanlz/article/details/78631122
++++C#静态类:https://blog.csdn.net/vrunsoftyanlz/article/details/78630979
++++C#中System.String类:https://blog.csdn.net/vrunsoftyanlz/article/details/78630945
++++C#数据类型:https://blog.csdn.net/vrunsoftyanlz/article/details/78630913
++++Unity3D默认的快捷键:https://blog.csdn.net/vrunsoftyanlz/article/details/78630838
++++游戏相关缩写:https://blog.csdn.net/vrunsoftyanlz/article/details/78630687
++++UnityAPI.Rigidbody刚体:https://blog.csdn.net/VRunSoftYanlz/article/details/81784053
++++UnityAPI.Material材质:https://blog.csdn.net/VRunSoftYanlz/article/details/81814303
++++UnityAPI.Android安卓:https://blog.csdn.net/VRunSoftYanlz/article/details/81843193
++++UnityAPI.AndroidJNI安卓JNI:https://blog.csdn.net/VRunSoftYanlz/article/details/81879345
++++UnityAPI.Transform变换:https://blog.csdn.net/VRunSoftYanlz/article/details/81916293
++++UnityAPI.WheelCollider轮碰撞器:https://blog.csdn.net/VRunSoftYanlz/article/details/82356217
++++UnityAPI.Resources资源:https://blog.csdn.net/VRunSoftYanlz/article/details/83155518
++++JSON数据结构:https://blog.csdn.net/VRunSoftYanlz/article/details/82026644
++++CocosStudio快速入门:https://blog.csdn.net/VRunSoftYanlz/article/details/82356839
++++Unity企业内训(目录):https://blog.csdn.net/VRunSoftYanlz/article/details/82634668
++++Unity企业内训(第1讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82634733
++++Unity企业内训(第2讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82861180
++++Unity企业内训(第3讲):https://blog.csdn.net/VRunSoftYanlz/article/details/82927699
++++Unity企业内训(第4讲):https://blog.csdn.net/VRunSoftYanlz/article/details/83479776
++++Unity企业内训(第5讲):https://blog.csdn.net/VRunSoftYanlz/article/details/83963811
++++Unity企业内训(第6讲):https://blog.csdn.net/VRunSoftYanlz/article/details/84207696
++++插件<Obi Rope>:https://blog.csdn.net/VRunSoftYanlz/article/details/83963905
++++计算机组成原理(教材篇):https://blog.csdn.net/VRunSoftYanlz/article/details/82719129
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
--_--VRunSoft:lovezuanzuan--_--
一、简介Flask是一个用于开发网页App的轻量级框架,功能类似Django,但是比Django要简洁很多(省去了大量模板化的代码)。此外,由于Flask比较新,其开发过程中广泛吸取了社区的支持和意见,故语法方面比较Pythonic。一句话介绍如下:"Flask is a lightweight Python framework for web applications that provides...
YII框架使用编码规范文件不许写 PHP 结束语命名空间与目录对应,文件名采用类名.php 格式,目录大小写与命名空间相同,类名大小写与文件名相同(psr-4规范)视图目录名与 控制器名一致类的命名必须遵循大写开头的大驼峰命名法(列如 UserController)。类中的常量所有字母必须大写,多个单词间用下划线分隔;方法名必须遵循小写开头的小驼峰命名法(列如 actionlogin);
此项目的gitlab地址:https://gitlab.com/Mr_liukun/web_db1. 这是我的项目的目录结构,可以看到需要将Dockerfile放在项目的根目录下。即项目名的下一层目录。2. 这是我的Dockerfile文件。参考别人和自己摸索的,有些参数以后知道了再说含义。DOckerfile写法可以自己查资料。FROM golang:1.10.7#创建工...
一、shiro通过过滤器来拦截所有请求这个过滤器是spring的委托过滤器,真正的过滤器是在spring容器中配置的shiro类。因为org.springframework.web.filter.DelegatingFilterProxy这个过滤器是也是spring的,也是在spring容器中,所以spring可以把spring容器中的shiro类装配到这个类的属性上,spring默认是使用中的...
最近使用360浏览器时发现浏览器启动时的打开页面总是360导航,而不是自己设置的主页,百思不得其解,如果不是大量的使用了360云盘和360网络收藏夹等功能,早就卸载了换其他浏览器,但最后还是让我找到了原因。首先查看360浏览器主页设置:正常,然后看360主页防护:也正常,最后突发奇想,360使用chrome开发,于是查看一下快捷方式的属性:尼玛,不知哪个360程
拼接sql语句中单引号和双引号的问题
提要大家要知道字符串(String)在进行拼接操作时,每一次拼接,都会构建一个新的String对象这样耗时又浪费内存解决方法就是 StringBuilder 类,就可以解决这个问题StringBuilder 类 中方法和 String类基本一样我举例几个使用最多的方法创建//创建StringBuilder StringBuilder sb = new StringBuilder("老八"); System.out.println(sb);//输出如果括号里不填默认是空字符串
可能是配置文件中端口号已经被占用,换个端口号即可:
scrollHeight和scrollWidth在添加overflow后的区别scrollHeight和scrollWidth添加overflow样式scrollHeight和scrollWidth两者分别是用来获取元素里面内容的最大高和宽+padding。<!DOCTYPE html><html lang="en"><head> <me...
http://www.cnblogs.com/myparamita/archive/2010/06/03/1377301.htmlJavaBean的属性与一般Java程序中所指的属性,或者说与所有面向对象的程序设计语言中对象的属性是一个概念,在程序中的具体体现就是类中的变量。在JavaBean设计中,按照属性的不同作用又细分为四类:Simple, Index, Bound与Co
检查系统是否安装snmp服务# rpm -qa|grep snmpnet-snmp-5.3.2.2-17.el5net-snmp-perl-5.3.2.2-17.el5net-snmp-devel-5.3.2.2-17.el5net-snmp-libs-5.3.2.2-17.el5net-snmp-utils-5.3.2.2-17.el5net-snmp-libs-5.3.2.2-17.el5net-snmp-devel-5.3.2.2-17.el5SNMP服务安装后会有以上安装包安
~~~提醒:一定要看终端的输出日志进入正文:1>查看内核版本 uname -aLinux ice 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux我的是 4.9.0-4-amd642>下载VirtualBox和我相同版本号的 直接使用如下语句就OK: wget http://download.vi