- 浏览: 508776 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
wang1352083:
正在搭建tomcat源码.一会儿参照楼主经验搭建spring源 ...
Eclipse中阅读开源项目代码 -
w123456789zzzz:
谢谢你,问题解决了,楼主万岁!!
eclipse中如何安装插件 -
xiaoLee:
...
软件性能测试论文草稿 -
铃儿响叮当:
...
使用firefox调试js -
gogopengyou:
很细心啊
eclipse中如何安装插件
分在jsp页面中使用与flex页面显示两部分:
一: JSP页面
记得将open-flash-chart.swf放在工程的根目录下。
二、 Flex界面
导入xxx.swc文件,并在mxml中进行声明如 xmlns:ofc="*" 然后在页面中如此使用:
<ofc:Chart chartData="{json格式}" .../>
xxx.swc稍后会上传... ...
三: 后台代码(Servlet部分):
LineChartServlet
PieChartServlet:
BarChartServlet:
BarChart2Servlet:
问题: lineChart上设置的toolTip无效
pieChart的tooltip在flex界面显示时离图本身距离过远(若你将pieChart的父组件的x与y都设为0则不会出现这问题,但这没实际意义)
一: JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <html> <head> <script type="text/javascript" src="js/swfobject.js"></script> <script type="text/javascript" src="js/json2.js"></script> <script type="text/javascript"> //<![CDATA[ swfobject.embedSWF( "open-flash-chart.swf", "my_chart", "40%", "40%", "9.0.0", "expressInstall.swf", {"data-file":"<%=request.getContextPath()%>/LineChartServlet"}, {wmode:"transparent"}); //]]> </script> </head> <body> <p>Hello World</p> <div id="my_chart"></div> </body> </html>
记得将open-flash-chart.swf放在工程的根目录下。
二、 Flex界面
导入xxx.swc文件,并在mxml中进行声明如 xmlns:ofc="*" 然后在页面中如此使用:
<ofc:Chart chartData="{json格式}" .../>
xxx.swc稍后会上传... ...
三: 后台代码(Servlet部分):
LineChartServlet
package mydashboard; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import jofc2.model.Chart; import jofc2.model.Text; import jofc2.model.axis.Label; import jofc2.model.axis.XAxis; import jofc2.model.axis.YAxis; import jofc2.model.elements.Legend; import jofc2.model.elements.LineChart; import jofc2.model.elements.StackedBarChart; import jofc2.model.elements.Tooltip; public class LineChartServlet extends HttpServlet { // Initialize global variables public void init() throws ServletException { // TODO Auto-generated method stub } // Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try{ LineChart lineChart = new LineChart(); lineChart.setFontSize(15);// 设置字体 lineChart.setTooltip("#val#%");//设置鼠标移到点上显示的内容 LineChart.Dot dot1 = new LineChart.Dot(70);//按照顺序设置各个点的值 LineChart.Dot dot2 = new LineChart.Dot(85); LineChart.Dot dot3 = new LineChart.Dot(44); LineChart.Dot dot4 = new LineChart.Dot(67); LineChart.Dot dot5 = new LineChart.Dot(90); LineChart.Dot dot6 = new LineChart.Dot(64); LineChart.Dot dot7 = new LineChart.Dot(28); LineChart.Dot dot8 = new LineChart.Dot(99); lineChart.addDots(dot1);//按照顺序把点加入到图形中 lineChart.addDots(dot2); lineChart.addDots(dot3); lineChart.addDots(dot4); lineChart.addDots(dot5); lineChart.addDots(dot6); lineChart.addDots(dot7); lineChart.addDots(dot8); lineChart.setColour("0x336699"); // //内存使用曲线 // LineChart lineChartMem = new LineChart(); // lineChartMem.setFontSize(15); // lineChartMem.setTooltip("#var#%"); // LineChart.Dot dotMem1 = new LineChart.Dot(30); // LineChart.Dot dotMem2 = new LineChart.Dot(34); // LineChart.Dot dotMem3 = new LineChart.Dot(52); // LineChart.Dot dotMem4 = new LineChart.Dot(35); // LineChart.Dot dotMem5 = new LineChart.Dot(58); // LineChart.Dot dotMem6 = new LineChart.Dot(69); // LineChart.Dot dotMem7 = new LineChart.Dot(43); // LineChart.Dot dotMem8 = new LineChart.Dot(54); // // lineChartMem.addDots(dotMem1); // lineChartMem.addDots(dotMem2); // lineChartMem.addDots(dotMem3); // lineChartMem.addDots(dotMem4); // lineChartMem.addDots(dotMem5); // lineChartMem.addDots(dotMem6); // lineChartMem.addDots(dotMem7); // lineChartMem.addDots(dotMem8); // // lineChartMem.setColour("#D54C78"); // // //磁盘使用曲线 // LineChart lineChartDisk = new LineChart(); // lineChartMem.setFontSize(15); // lineChartMem.setTooltip("这是内存sdsdfsdd"); // LineChart.Dot dotDisk1 = new LineChart.Dot(42); // LineChart.Dot dotDisk2 = new LineChart.Dot(67); // LineChart.Dot dotDisk3 = new LineChart.Dot(83); // LineChart.Dot dotDisk4 = new LineChart.Dot(94); // LineChart.Dot dotDisk5 = new LineChart.Dot(82); // LineChart.Dot dotDisk6 = new LineChart.Dot(55); // LineChart.Dot dotDisk7 = new LineChart.Dot(63); // LineChart.Dot dotDisk8 = new LineChart.Dot(54); // // lineChartDisk.addDots(dotDisk1); // lineChartDisk.addDots(dotDisk2); // lineChartDisk.addDots(dotDisk3); // lineChartDisk.addDots(dotDisk4); // lineChartDisk.addDots(dotDisk5); // lineChartDisk.addDots(dotDisk6); // lineChartDisk.addDots(dotDisk7); // lineChartDisk.addDots(dotDisk8); // // lineChartDisk.setColour("#3334AD"); // XAxis x = new XAxis(); // X 轴 // // x.addLabels("11:05"); //每5分钟轮询一次 // x.addLabels("11:10"); // x.addLabels("11:15"); // x.addLabels("11:20"); // x.addLabels("11:25"); // x.addLabels("11:30"); // x.addLabels("11:35"); // x.addLabels("11:40"); // Label label = new Label(); // label.setText("时间"); // x.addLabels(label); //x.setColour("0x000000"); double max = 100.0; // //Y 轴最大值 YAxis ycpu = new YAxis(); //y 轴 (CPU) ycpu.setMax(max); //y 轴最大值 ycpu.setSteps(10); // 步进 // double max2 = 4000.0; // YAxis ymem = new YAxis(); //y轴(Mem) // ymem.setMax(max2); // ymem.setSteps(500); // ymem.addLabels("dsdsds"); // lineChartMem.setRightYAxis();//LineChartMem使用右边的纵坐标 // lineChartMem.setColour("#009100"); // lineChartMem.setYAxis("yaoyaoy"); Chart flashChart = new Chart( " 资源使用率 " , "font-size:12px;color:#ff0000;" ); // 整个图的标题 //Element[] elements = {lineChart, lineChartMem}; // HashSet hashSet = new HashSet(); // hashSet.add(lineChart); // hashSet.add(lineChartMem); // flashChart.addElements(hashSet); // 把线状图加入到图表 --为什么只显示一条线? //flashChart.addElements(lineChartMem); Text yText = new Text("Usage(%)",Text.createStyle(10, "#736AFF",Text.TEXT_ALIGN_LEFT)); //Text yText2 = new Text("Mem(Mb)",Text.createStyle(20, "#009100", Text.TEXT_ALIGN_RIGHT)); // Legend legend = new Legend(); //legend.set //flashChart.setXAxis(x); // lineChart.setYAxis("资源使用率"); //lineChart.setTooltip("tooltip"); // Label lbl1 = new Label("CPU"); // Label lbl2 = new Label("磁盘"); // Label lbl3 = new Label("内存"); // lbl1.setColour("0x336699"); // lbl2.setColour("#3334AD"); // lbl3.setColour("#D54C78"); // lineChart.setText("CPU"); // lineChartDisk.setText("Disk"); // lineChartMem.setText("Memory"); // flashChart.addElements(lineChartMem); // flashChart.addElements(lineChartDisk); flashChart.addElements(lineChart); // Tooltip tip1 = new Tooltip(); // tip1.setTitleStyle("测试"); flashChart.setYAxis(ycpu); flashChart.setYLegend(yText);//设置y轴显示内容 //flashChart.setYLegend(yText2); //设置Label // Label label = new Label(); // label.setColour("green"); // label.setText("Mem"); //legend.set String json = flashChart.toString();// 转成 json 格式 System.out.println("json content: "+json); response.setContentType( "application/json-rpc;charset=utf-8" ); response.setHeader( "Cache-Control" , "no-cache" ); response.setHeader( "Expires" , "0" ); response.setHeader( "Pragma" , "No-cache" ); response.getWriter().print(json);// 写到客户端 }catch(Exception ex){ ex.printStackTrace(); } } // Clean up resources public void destroy() { // TODO Auto-generated method stub } }
PieChartServlet:
package mydashboard; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import jofc2.model.Chart; import jofc2.model.elements.PieChart; public class PieChartServlet extends HttpServlet { // Initialize global variables public void init() throws ServletException { // TODO Auto-generated method stub } // Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try{ PieChart pie = new PieChart(); pie.setFontSize(15);// 设置字体 pie.addSlice(200000000, " 研发经费 " );// 分类 pie.addSlice(60000000, " 旅游经费 " ); pie.addSlice(30000000, " 推广经费 " ); pie.addSlice(20000000, " 创业经费 " ); pie.setBorder(500); pie.setStartAngle(60);// 设置角度 pie.setAnimate( true ); //设置动态效果 // 设置颜色 (自己调制颜色时该如何调... ... ) pie.setColours( new String[] { "0x336699" , "0x88AACC" , "0x999933" , "0x666699" , "0xCC9933" , "0x006666" , "0x3399FF" , "0x993300" , "0xAAAA77" , "0x666666" , "0xFFCC66" , "0x6699CC" , "0x663366" , "0x9999CC" , "0xAAAAAA" , "0x669999" , "0xBBBB55" , "0xCC6600" , "0x9999FF" , "0x0066CC" , "0x99CCCC" , "0x999999" , "0xFFCC00" , "0x009999" , "0x99CC33" , "0xFF9900" , "0x999966" , "0x66CCCC" , "0x339966" , "0xCCCC33" }); pie.setTooltip( "#val# / #total#<br> 占百分之 #percent#");// 鼠标移动上去后提示内容 pie.setRadius(100); //设置半径大小 Chart flashChart = new Chart( " 2009至2010年度 Apusic财务分析 " , "font-size:30px;color:#ff0000;" ); // 整个图的标题 //flashChart.setBackgroundColour("#3EFFFF"); flashChart.addElements(pie); // 把饼图加入到图表 String json = flashChart.toString();// 转成 json 格式 System.out.println(json); response.setContentType( "application/json-rpc;charset=utf-8" ); response.setHeader( "Cache-Control" , "no-cache" ); response.setHeader( "Expires" , "0" ); response.setHeader( "Pragma" , "No-cache" ); response.getWriter().print(json);// 写到客户端 }catch(Exception ex){ ex.printStackTrace(); } } // Clean up resources public void destroy() { // TODO Auto-generated method stub } }
BarChartServlet:
package mydashboard; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import jofc2.model.Chart; import jofc2.model.axis.XAxis; import jofc2.model.axis.YAxis; import jofc2.model.elements.BarChart; import jofc2.model.elements.BarChart.Bar; public class BarChartServlet extends HttpServlet { // Initialize global variables public void init() throws ServletException { // TODO Auto-generated method stub } // Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub try{ BarChart chart = new BarChart(BarChart.Style. GLASS ); // 设置条状图样式 //FilledBarChart chart = new FilledBarChart("red","blue");// 设置条状图样式 //String sMax = "10000" ; long max = 900; // //Y 轴最大值 Map<String,Long> map = new HashMap<String,Long>(); map.put( "5" , new Long(50)); map.put( "6" , new Long(45)); map.put( "7" , new Long(60)); map.put( "8" , new Long(30)); map.put( "9" , new Long(80)); map.put( "10" , new Long(500)); map.put( "11" , new Long(800)); map.put( "12" , new Long(200)); XAxis x = new XAxis(); // X 轴 int i = 5; for (String key:map.keySet()){ x.addLabels(i+"月份"); // x 轴的文字 Bar bar = new Bar(map.get(""+i), " 万元 " ); i++; bar.setColour( "0x336699" ); // 颜色 bar.setTooltip(map.get(""+i) + " 万元 " ); // 鼠标移动上去后的提示 chart.addBars(bar); // 条标题,显示在 x 轴上 } Chart flashChart = new Chart(); flashChart.addElements(chart); // 把柱图加入到图表 YAxis y = new YAxis(); //y 轴 y.setMax(max+10.0); //y 轴最大值 y.setSteps(max/10*1.0); // 步进 flashChart.setYAxis(y); flashChart.setXAxis(x); String json = flashChart.toString(); response.setContentType( "application/json-rpc;charset=utf-8" ); response.setHeader( "Cache-Control" , "no-cache" ); response.setHeader( "Expires" , "0" ); response.setHeader( "Pragma" , "No-cache" ); response.getWriter().print(json);// 写到客户端 }catch(Exception ex){ ex.printStackTrace(); } } // Clean up resources public void destroy() { // TODO Auto-generated method stub } }
BarChart2Servlet:
package mydashboard; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import jofc2.model.Chart; import jofc2.model.Text; import jofc2.model.axis.XAxis; import jofc2.model.axis.YAxis; import jofc2.model.elements.StackedBarChart; public class BarChart2Servlet extends HttpServlet { // Initialize global variables public void init() throws ServletException { // TODO Auto-generated method stub } // Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try{ // StackedBarChart chart = new StackedBarChart( ); // 设置组合柱状图 // // long max = 900; // //Y 轴最大值 // // // // Map<String,Long> map = new HashMap<String,Long>(); // // map.put( "5" , new Long(50)); // // map.put( "6" , new Long(45)); // // map.put( "7" , new Long(60)); // // map.put( "8" , new Long(30)); // // map.put( "9" , new Long(80)); // // map.put( "10" , new Long(500)); // // map.put( "11" , new Long(800)); // // map.put( "12" , new Long(200)); // // // // XAxis x = new XAxis(); // X 轴 // // x.set3D(0); // // x.setColour("#909090"); // // x.setGridColour("#ADB5C7"); // // int i = 5; // // for (String key:map.keySet()){ // // StackedBarChart.Stack stack = new StackedBarChart.Stack();//新建柱组 // // x.addLabels("x"+i); // x 轴的文字 // // StackedBarChart.StackValue stackValue = new StackedBarChart.StackValue(map.get(""+i),"0x336699");//每组柱状图每个柱的设置 // StackedBarChart.StackValue stackValue2 = new StackedBarChart.StackValue(i * 5 + 10,"#3334AD"); // StackedBarChart.StackValue stackValue3 = new StackedBarChart.StackValue(i * 10 + 20,"#D54C78"); // // i++; // // stack.addStackValues(stackValue); // stack.addStackValues(stackValue2); // stack.addStackValues(stackValue3); // // chart.addStack(stack); // 条标题,显示在 x 轴上 // // } // // // StackedBarChart.Key key1 = new StackedBarChart.Key("0x336699","Apusic",20); // StackedBarChart.Key key2 = new StackedBarChart.Key("#3334AD","EAS",20); // StackedBarChart.Key key3 = new StackedBarChart.Key("#D54C78","KIS",20); // // chart.addKeys(key1); // chart.addKeys(key2); // chart.addKeys(key3); // // Chart flashChart = new Chart("主机性能监控图","{font-size:20px; color: #FFFFFF; margin: 5px; background-color: #505050; padding:5px; padding-left: 20px; padding-right: 20px;}"); // // flashChart.addElements(chart); // 把柱图加入到图表 // // YAxis y = new YAxis(); //y 轴 // // y.set3D(0); // // y.setColour("#909090"); // // y.setGridColour("#ADB5C7"); // // y.setMax(max+10.0); //y 轴最大值 // // y.setSteps(max/10*1.0); // 步进 // // flashChart.setYAxis(y); // // flashChart.setXAxis(x); // // Text text = new Text("Resource Usage"); // // text.setStyle(Text.createStyle(15, "#736AFF", Text.TEXT_ALIGN_RIGHT)); // // flashChart.setYLegend(text);//设置Y轴左侧的文字 // // String json = flashChart.toString(); String charts=""; StackedBarChart chart = new StackedBarChart(); // 设置组合柱状图 long max = 90; // //Y 轴最大值 //Set<Usinginfo> set = getHostsByUser(user); //List<Usinginfo> results = new Usinginfo().findLatestInfos(); // Map<String,Long> map = new HashMap<String,Long>(); // // map.put( "5" , new Long(50)); // // map.put( "6" , new Long(45)); // // map.put( "7" , new Long(60)); // // map.put( "8" , new Long(30)); // // map.put( "9" , new Long(80)); // // map.put( "10" , new Long(500)); // // map.put( "11" , new Long(800)); // // map.put( "12" , new Long(200)); XAxis x = new XAxis(); // X 轴 x.set3D(0); x.setColour("#909090"); x.setGridColour("#ADB5C7"); // // for(int i=0; i<results.size();i++){ // // StackedBarChart.Stack stack = new StackedBarChart.Stack();//新建柱组 // x.addLabels("x"+i); // x 轴的文字 // StackedBarChart.StackValue stackValue = new StackedBarChart.StackValue(results.get(i).getDiskRatio(),"0x336699");//每组柱状图每个柱的设置 // StackedBarChart.StackValue stackValue2 = new StackedBarChart.StackValue(results.get(i).getCpuRatio(),"#3334AD"); // StackedBarChart.StackValue stackValue3 = new StackedBarChart.StackValue(results.get(i).getMemRatio(),"#D54C78"); // // stack.addStackValues(stackValue); // stack.addStackValues(stackValue2); // stack.addStackValues(stackValue3); // // chart.addStack(stack); // 条标题,显示在 x 轴上 // } StackedBarChart.Key key1 = new StackedBarChart.Key("0x336699","Apusic",20); StackedBarChart.Key key2 = new StackedBarChart.Key("#3334AD","EAS",20); StackedBarChart.Key key3 = new StackedBarChart.Key("#D54C78","KIS",20); chart.addKeys(key1); chart.addKeys(key2); chart.addKeys(key3); Chart flashChart = new Chart("主机性能监控图","{font-size:20px; color: #FFFFFF; margin: 5px; background-color: #505050; padding:5px; padding-left: 20px; padding-right: 20px;}"); flashChart.addElements(chart); // 把柱图加入到图表 YAxis y = new YAxis(); //y 轴 y.set3D(0); y.setColour("#909090"); y.setGridColour("#ADB5C7"); y.setMax(max+10.0); //y 轴最大值 y.setSteps(max/10*1.0); // 步进 flashChart.setYAxis(y); flashChart.setXAxis(x); Text text = new Text("Resource Usage"); text.setStyle(Text.createStyle(15, "#736AFF", Text.TEXT_ALIGN_RIGHT)); flashChart.setYLegend(text);//设置Y轴左侧的文字 charts = flashChart.toString(); System.out.println("获得json: "+charts); response.setContentType( "application/json-rpc;charset=utf-8" ); response.setHeader( "Cache-Control" , "no-cache" ); response.setHeader( "Expires" , "0" ); response.setHeader( "Pragma" , "No-cache" ); response.getWriter().print(charts);// 写到客户端 }catch(Exception ex){ ex.printStackTrace(); } } // Clean up resources public void destroy() { // TODO Auto-generated method stub } }
问题: lineChart上设置的toolTip无效
pieChart的tooltip在flex界面显示时离图本身距离过远(若你将pieChart的父组件的x与y都设为0则不会出现这问题,但这没实际意义)
- ofc2资源.rar (817.6 KB)
- 下载次数: 86
评论
2 楼
liaoshaoyao
2011-08-27
没解决,后来换图表组件了。
1 楼
richard_2010
2011-08-19
问题: lineChart上设置的toolTip无效
------------
请问你现在解决这个问题没?
------------
请问你现在解决这个问题没?
发表评论
-
手续材料
2012-03-25 22:40 0所发生大幅 <SERVICE CLASS ... -
amcharts
2011-12-18 23:46 40821、AmLegend 2、当宽度不够时出现,解决方案设置Ca ... -
flex4中使用backgroundImage
2011-04-20 17:04 16601、 方式一 可以用BorderContainer把内容包涵进 ... -
Flex PopUpManager总结
2011-04-10 23:51 1194PopUpManager弹出的普通组件与TitleWindow ... -
右键&FVNC
2011-03-28 20:46 14001、需了解的Flex类:Security、 ProgressE ... -
3月份FLex工作日志
2011-03-20 21:39 10661、异常:LabelToolTip655 can only h ... -
我与GEF有个约会
2011-03-13 23:19 843我们的Desinger是基于GEF做的,而如今我可能需要 ... -
Flex组件以几何中心作为中心进行缩放
2011-01-26 21:38 1427控制BlurPopUpEffect控制弹出窗体的位置 ... -
Flex初始化探究
2011-01-26 21:37 902a、 FLex的初始化顺序? 拓展 ... -
mate之Injectors引发的问题
2011-01-25 23:07 9131、背景介绍:系统中含有事件模块,EventListVi ... -
Flex样式、图片以及组件
2011-01-20 19:22 26861、 指定组件的相对高度可以使用percentWidth和pe ... -
Flex个人知识库之Apple组件
2011-01-04 23:08 14992、 如何将网页上复制 ... -
OffLineMap替代方案研究
2010-12-30 22:33 970这个dc展示方案始终是得解决的,我感觉鸭梨很大。花在这个 ... -
Java-Flex通信
2010-12-27 23:09 1341背景:在内网访问 ... -
Flex个人知识库之样式皮肤
2010-12-18 08:58 947学习Flex已经有4、5个月了,也算是入了门吧,基本的 ... -
Flex个人知识库之工作日志2
2010-12-15 22:51 9661、 在dataGrid中设置某特定单元格的样式 使 ... -
Flex资源导航
2010-12-12 09:42 625将自己平时遇到的一些不错的FLex站点、博客等予以记录, ... -
个人FLex知识库之工作笔记
2010-12-12 09:18 1015[size=large]1、 private functio ... -
几条常用的Flex代码
2010-12-12 09:11 6611.复制内容到系统剪贴板 System.setCli ... -
中国城市经纬度数据
2010-12-10 08:38 2219前言暂时空缺... ... – – 表的结构 `cit ...
相关推荐
### vc++6.0使用笔记 #### 模态对话框与非模态对话框 - **模态对话框**:这种类型的对话框会独占用户的输入。一旦打开模态对话框,用户无法与应用程序的其他部分进行交互,直到关闭该对话框为止。这通常用于需要...
### ggplot2学习笔记知识点详解 #### 一、ggplot2简介与基本使用 ggplot2是R语言中一个强大的图形绘制包,它基于“Grammar of Graphics”(绘图语法)理论,允许用户通过组合不同的图形元素来创建复杂的统计图表。...
- **CEPT与GSM的起源**:CEPT(European Conference of Postal and Telecommunications Administrations)于1982年在斯德哥尔摩会议上成立GSM,标志着GSM技术的正式启动和发展。 - **GSM的频段划分**:GSM900使用...
"linux C 动态库和静态库生成及使用笔记" Linux C 动态库和静态库是两种不同的库类型,它们在生成、使用和链接时有着不同的机制和要求。下面我们将详细介绍 Linux C 动态库和静态库的生成、使用和链接机制。 一、...
10. **IOC(Inversion of Control)和DI(Dependency Injection)**:Struts2利用DI实现组件之间的解耦,使得对象之间的依赖关系在运行时由框架自动管理。 以上内容仅是Struts2学习笔记中的核心部分,实际学习时还...
2. **标准发布**:经过四年的研究和准备工作,MISRA于1998年发布了第一版MISRA C标准——《汽车专用软件的C语言编程指南》(Guidelines for the Use of the C Language in Vehicle Based Software)。这一版本包含了...
Linux C 学习笔记 在深入探讨Linux C编程之前,我们先理解一下C语言和Linux操作系统的基本概念。C语言是一种强大的、高效的编程语言,被广泛用于系统编程、嵌入式开发以及各种软件开发中。而Linux则是一个开源的、...
2. **类与对象**:讲解面向对象编程的基本原理,如类的定义、对象的创建、封装、继承、多态等概念。 3. **数组与集合**:深入探讨一维和多维数组,以及ArrayList、LinkedList、HashSet、HashMap等集合框架的使用。 ...
从给定的文件信息来看,这是一份关于C语言学习的笔记,涵盖了C语言的基础语法、数据类型、运算符、输入输出函数以及其他一些基础概念。下面将对这些知识点进行详细的阐述: ### C语言简介 C语言是一种通用的、面向...
最后,关于文档的尺寸、定制、文档编号、页码等信息(如“Size Custom DocumentNumber 4019P2Rev C Date: Friday, March 07, 2014 Sheet 1 of 42”),这些通常用于文件管理和参考资料索引,方便记录和追溯文档的...
例如“Compal Secret Data”、“This sheet of engineering drawing is the proprietary property of Compal Electronics, Inc.”等,这些提示强调了图纸的专有性质,并对图纸的使用范围进行了限制。维修人员在参考...
它强调了此文档属于Compal Electronics, Inc.的专有财产,并含有商业机密信息。未经授权不得转移或披露给任何第三方。这一声明反映了原理图的重要性及其包含的技术信息的价值。 ### 具体内容解读 - **Title**: ...
2. **泛型**:C#的泛型允许你创建类型安全的容器,这样可以在不指定具体类型的情况下定义和使用数据结构,提高代码的灵活性和效率。 3. **委托与事件**:委托是C#中的函数指针,可以用来实现回调机制。事件则用于...
### 程序设计基础(C)例题解析 #### 1.5 输出“Hello! C Programming” **知识点概述:** - **基本语法结构:**包括`#include`指令、`main`函数定义以及字符串输出。 - **字符串输出:**通过`printf`函数输出固定...
【Protege使用笔记】 Protege是一款开源的本体编辑器,主要用于创建、编辑和管理本体,广泛应用于知识表示、语义Web和人工智能领域。以下是对标题和描述中涉及的知识点的详细说明: 1. **OWL语言**: Protege支持...
- **命令格式**: `dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp` - **描述**: 实现音频数据通过网络从本地传输到远程主机。 **13. 临时文件系统挂载** - **命令格式**: `mount -t tmpfs ...
- `db2export to staff.ixf ofixf select * from userid.staff`:此命令用于将`userid.staff`表的数据导出至`staff.ixf`文件中,采用交互式XML格式(`ofixf`)。 - `db2export to aaa.del ofdels select * from ...
本笔记旨在帮助用户快速上手使用 Turbo C 集成开发环境,编写、编译和运行 C 语言程序。笔记涵盖了 Turbo C 的基本使用、编辑、编译、连接和运行等方面的知识点,并提供了一些常见问题的解决方法。 一、Turbo C 的...
输出全部的节点可以使用print G.nodes(),输出全部的边可以使用print G.edges(),输出边的数量可以使用print G.number_of_edges()。 三、有向图 有向图的建立方式和无向图基本类似,只是在上述代码的第二行,将G =...