有一个JSP页面 点击页面上的下载 按钮 把JSP页面的内容转化为PDF格式下载到本地 10C

有一个JSP页面 点击页面上的下载 按钮 把JSP页面的内容转化为PDF格式下载到本地

5个回答

qq_25288595
qq_25288595 回复showbo: 小弟新手上路,能来个详细的作答吗?C币全给 只为解决问题
4 年多之前 回复
showbo
支付宝加好友偷能量挖 回复qq_25288595: 你现在主要去了解java用那种类用来启动外部的进程
4 年多之前 回复
showbo
支付宝加好友偷能量挖 回复qq_25288595: 一样的额,jsp最后解析不就是html页面了
4 年多之前 回复
qq_25288595
qq_25288595 回复showbo: 我的是JSP页面,不是HTML 大哥帮帮小弟
4 年多之前 回复
showbo
支付宝加好友偷能量挖 回复qq_25288595: 可以试试wkhtmltopdf这个插件,你的jsp启动wkhtmltopdf转换就行。http://www.cnblogs.com/shanyou/archive/2012/09/07/2676026.html里有示例,不过是C#的,你改成java的,主要是启动wkhtmltopdf进程传递参数
4 年多之前 回复
qq_25288595
qq_25288595 有没有好的解决方案 求助!!!!
4 年多之前 回复
qq_25288595
qq_25288595 哥们。他们的我看了 但是不适用
4 年多之前 回复

http://bbs.csdn.net/topics/380175567?page=1

在你的Servlet里面写一下5楼说的代码(main方法里面的即可),记得导入相应的jar包,应该就可以了。,

qq_25288595
qq_25288595 回复dcxy0: 我的页面本身就是JSP页面,
4 年多之前 回复
dcxy0
Q544471255 回复qq_25288595: 如果内存溢出的话,你只能一部分一部分的读取,这样可以避免内存溢出
4 年多之前 回复
dcxy0
Q544471255 回复qq_25288595: 你这个不是html页面吗?改成jsp呢,复杂的是不是内存溢出了?
4 年多之前 回复
qq_25288595
qq_25288595 回复dcxy0: 经过测试简单页面可以.复杂一点的页面就会报错
4 年多之前 回复
qq_25288595
qq_25288595 小弟q972769321 坐等大哥 救助
4 年多之前 回复
qq_25288595
qq_25288595 ArrayList p = HTMLWorker.parseToList(new FileReader("example.html"), st); 在解析我自己的页面的时候报错
4 年多之前 回复
dcxy0
Q544471255 回复qq_25288595: 提示什么错误?
4 年多之前 回复
qq_25288595
qq_25288595 已经尝试了,有错误
4 年多之前 回复

你好,你的问题解决了吗?你是怎样实现将jsp页面转pdf的呢?

亲,解决了吗?我也在找这个方法

你找一下如何使用java生成pdf文档的资料或视频,照着做就行,但是记得要把东西换成你jsp页面上的内容

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在一个jsp页面中,点击一个按钮,弹出另一个jsp页面
add.jsp:![图片说明](https://img-ask.csdn.net/upload/201507/23/1437636861_239649.jpg) select.jsp:![图片说明](https://img-ask.csdn.net/upload/201507/23/1437636901_138782.jpg) 如图,共有两个jsp页面,一个add.jsp select.jsp,在add.jsp上面有一个请选择按钮,点击请选择按钮后,弹出select.jsp页面,这个页面上是从数据库中遍历的企业,选中一条数据,点击确认,select.jsp页面关闭,并将结果带到add.jsp请选择前面的文本框里面。现在两个jsp页面我已经做好了,那么应该如何才能够得到想要的结果,action层是如何实现的?拜求解决。 好吧,继续昨天的问题: ![add.jsp](https://img-ask.csdn.net/upload/201507/24/1437720016_514705.jpg) ![select.jsp](https://img-ask.csdn.net/upload/201507/24/1437720015_192489.jpg) 应该如何将所选择的值带回到add.jsp推荐企业后的文本框中。 (add.jsp源码:<script type="text/javascript"> function closeYmtPage() { window.history.go(-1); } function findztype() { var idstr = $("#fwdl").val(); $.post("fw.do?action=findzType",{idstr:idstr},function(data){ var types=eval('(' + data + ')'); var typelist = types.typesList; $("#fwxl").empty(); $("#fwxl").append('<option value="">请选择</option>'); $.each(typelist, function (i, item) { var str ='<option value="'+item.id+'" title="'+item.name+'">'+item.name+'</option>'; $("#fwxl").append(str); }); }); } //推荐企业按钮 function openwindow(){ window.showModalDialog("/jxw/xq.do?action=showTjList",window, "status:no;scroll:yes; dialogWidth:400px;dialogHeight:400px"); } function addxm(flag){ $("#fbState").val(flag); var xqName =$("#xqName").val(); if(xqName =="") { alert("需求名称不能为空!"); return; } if($("#fwdl").val()=="" || $("#fwXl").val()==""){ alert("服务类别不能为空"); return; } $("#addForm").ajaxSubmit({ beforeSubmit : function() { $("#saveBtn").attr("disabled", true); }, success : function(data) { var start = data.indexOf(">"); if (start != -1) { var end = data.indexOf("<",start+1); if (end != -1) { data = data.substring(start+1, end); } } if (data == "ok") { alert("添加需求成功"); window.location.href='<c:url value="cartweb.do?action=loadFwxqPage&pageNo=1"/>'; } if (data == "error") { alert("添加需求失败"); } $("#saveBtn").attr("disabled", false); }, complete : function() { $("#saveBtn").attr("disabled", false); }, error : function() { $("#saveBtn").attr("disabled", false); alert("请求错误"); } }); } function checkfkfs(){ var fkfs=$("#fkfs").val(); if(fkfs=="2") { document.getElementById("price").disabled="disabled"; }else{ $("#price").removeAttr("disabled"); } } function addxqlc() { window.parent.document.getElementById("btnxqOk").click(); } </script> </head> <body> <div class="main_nav"> <div class="lb_nav" id="current_pageDiv" style="width: 100%"> <div class="lb_nav_tu">添加需求</div> <a href="javascript:void(0)" onclick="addxqlc()" style="float:right;font-size:16px;font-style:oblique;padding-right:20px">操作说明</a> </div> <form id="addForm" action="<c:url value='/xq.do?action=doAddxq'/>" method="post" id="addForm" name="addForm"> <input type="hidden" id="fbfs" name="fbfs" value="1" /> <table cellpadding="0" cellspacing="0" class="cx_table"> <tr> <th><b>*</b>需求名称:</th> <td height="25" align="left" bgcolor="#FFFFFF" colspan="3"><input type="text" id="xqName" name="xqName" value="" maxlength="50" /></td> </tr> <tr> <th><b>*</b>付款方式:</th> <td height="25" align="left" bgcolor="#FFFFFF"><select id="fkfs" name="fkfs" onchange="checkfkfs()"> <option value="1">具体价格</option> <option value="2">面议</option> </select></td> <th><b>*</b>预算价格(元):</th> <td height="25" align="left" bgcolor="#FFFFFF"><input type="text" id="price" name="price" value="" onkeyup="value=value.replace(/[^\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" /> </td> </tr> <tr> <th><b>*</b>服务所属大类:</th> <td height="25" align="left" bgcolor="#FFFFFF"><select name="fwdl" id="fwdl" class="select_field" onchange="findztype()"> <c:forEach items="${fwdl}" var="domain"> <option value="${domain.id }" title="${domain.name }"> ${domain.name }</option> </c:forEach> </select></td> <th><b>*</b>服务所属小类:</th> <td height="25" align="left" colspan="3" bgcolor="#FFFFFF"><select name="fwxl" id="fwxl" class="select_field"> <c:forEach items="${fwxl}" var="domain"> <option value="${domain.id }" title="${domain.name }"> ${domain.name }</option> </c:forEach> </select></td> </tr> <tr> <th><b>*</b>需求内容:</th> <td height="25" align="left" colspan="3" bgcolor="#FFFFFF"><script type="text/plain" id="myEditor" name="contents"></script> <script type="text/javascript"> var Editor= new UE.ui.Editor({initialFrameWidth:'600',initialFrameHeight:'200',toolbars:[['fullscreen', 'undo', 'redo', '|', 'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc', '|', 'rowspacingtop', 'rowspacingbottom', 'lineheight', '|', 'customstyle', 'paragraph', 'fontfamily', 'fontsize', '|', 'directionalityltr', 'directionalityrtl', 'indent', '|', 'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|', 'link', 'unlink', 'anchor', '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|', 'insertimage', 'emotion', 'insertvideo', 'music', 'attachment', 'map', 'gmap', 'insertframe','pagebreak', 'template', 'background', '|', 'horizontal', 'date', 'time', 'spechars', 'snapscreen', 'wordimage', '|', 'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', '|', 'print', 'preview', 'searchreplace', 'help']] ,elementPathEnabled : false}); Editor.render('myEditor'); </script></td> </tr> <tr> <th><b>*</b>推荐企业:</th> <td height="25" align="left" bgcolor="#FFFFFF" colspan="3"><textarea readonly="readonly" class="cl_textarea_small" name="xqName" id="xqName" width="100"></textarea> <input type=button name=inputboxbt value=请选择 onclick="openwindow();"></td> </tr> </table> <div class="btn_nav_dk"> <input type="hidden" value="" id="fbState" name="fbState" /> <input type="button" value="保 存" id="saveBtn" class="btn_bg" onclick="addxm('1');" /> <input type="reset" value="重 置" class="btn_bg" /> <input type="button" value="返 回" class="btn_bg" onclick="closeYmtPage();" /> </div> </form> </div> </body>) (select.jsp源码:<script type="text/javascript"> function bconfirm(){ dialogArguments.addNameform.inboxname.value=document.form1.inboxname.value; dialogArguments.opensub(); window.close(); } function bcancel(){ window.close(); } //将值传给text文本框 function result(form) { var a = document.getElementById("inboxname"); a.value = ""; for (var i = 0; i < form.elements.length; i++) { var e = form.elements[i]; if (e.name == "ifCheck" && e.checked == true) { a.value = a.value + e.value + "," } } } </script> </head> <body> <div class="content clr fl"> <div class="posit"> <h2> <ul> <li>当前位置:</li> <li>添加需求->推荐企业选择-<span>&gt;</span></li> </ul> </h2> </div> <div class="main"> <!--检索区域开始 -- <!--检索区域结束 --> <!--按钮区域开始 --> <div class="btm_list"> <h3>请选择企业:</h3> <div class="op_btn"></div> <!--按钮区域结束 --> <div class="form"> <form method=post name=form action=" /xq.do?action=doAddxq"> <input id="inboxname" type="hidden" name="inboxname" value="" /> <!-- <textarea readonly="readonly" class="cl_textarea_small" name="inboxname" id="inboxname" type="hidden" value=""></textarea><p>--> <input type=button name=inputboxbt value=确定 onclick="bconfirm();"> <input type=button name=inputboxbs value=关闭 onclick="bcancel();"> <table> <tr> <th style="width: 5%;"><input type="checkbox" onclick="checkOrCancel(this);" class="textCursor" /> </th> <th>序号</th> <th>企业名称</th> </tr> <c:forEach items="${domain}" var="domain1" varStatus="status"> <tr <c:if test="${status.count%2 == 0 }">class="grid_dark"</c:if> <c:if test="${status.count%2 == 1 }">class="grid_dark"</c:if> id="${domain1.id }"> <td><input type="checkbox" value="${domain1.id }" name="ifCheck" style="cursor: pointer;" id="ifCheck" onClick="result(this.form)" /> <input id="qymc.id" type="hidden" name="qymc.id" value="" /></td> <td>${status.count }</td> <td>${domain1.qymc }</td> </tr> </c:forEach> </table> </form> </div> </div> </div> </div> </body>)
在jsp页面点击按钮执行一个java方法,下面提出详细问题
刚接触jsp,我想通过点击一个按钮来调用一个java方法。我没有用其他框架,现在只用了jsp和Java。我想要通过这个方法来修改数据库,然后刷新页面,将修改后的数据显示出来。有老司机说一下,完成这个功能需要的思路和步骤吗,最好能百度到。
frameset框架,点击一个页面的返回按钮,另一页面的显示内容要跟着返回显示上级的信息。
我的frameset分为top.jsp、left.jsp、mainFarme.jsp. 我在top.jsp页面有一个按钮 ``` <li id="bk"><a href="javascript:history.go(-1)"><span>返&nbsp;&nbsp;回</span></a></li> ``` 然后left.jsp有一个标题的显示。我想点击top.jsp的返回按钮时,left.jsp的表现显示回他上级的标题。 比如:我点了”用户“,left.jsp显示”用户“,点了”管理“,left.jsp显示”管理“,然后我在管理层点返回,left.jsp显示用户。 先谢谢大家的不吝赐教!谢谢。
如何用jsp页面调用客户端的EXE文件
需求是这样的:jsp页面上有一个按钮,当点击按钮后会调用一个客户端的EXE文件, 特别说明:是调用用户的客户端的EXE文件,而不是调用服务器端的exe
jsp怎样实现用按钮触发一个action,同时弹出一个小窗,将action查询的数据显示到小窗上
jsp页面上有一个按钮,按一下会弹出一个小窗口,同时触发一个action,在后台查询数据后再传到本页面弹出的小窗口上。怎么实现这样的功能呢。 我打算修改用户的密码,点击一下修改 ,会将用户的信息查询出来 显示在本页面的一个弹出窗口上,让用户修改后点击保存
JSP和Java的Action结合下载文件以后返回jsp页面,能把页面上文件的下载量更新一下吗?
这边是一个下载按钮,直接下载服务器上的一个pdf格式的文件,下载以后数据库里面的下载量会增加。但是页面上显示的下载量没有增加,有没有办法让后台在文件下载完成以后给前台返回一个信息,然后前台根据信息去刷新页面? 注释:用异步请求肯定是不行的,因为用Ajax异步请求的话,文件不能下载! 求高手指点!不好意思!刚注册的用户还没有搞明白我们这边的C币是怎么来的!希望高手不要介意!
在jsp页面中,当url地址改变时弹出一个对话框
在一个jsp页面中有一些按钮,这些按钮可以跳到其他页面,在对这个页面执行一系列方法之后,我需要在点击该页面任何一个按钮之前都弹出一个提示框,提示是否保存本次修改。我不要在每个按钮对于的jsp页面分别判断,我需要在本页面上直接判断,当地址栏变化时则弹出保存框。请问大神有什么思路可以让我实现。
jsp页面中怎么实现只要一个按钮就能完成添加和修改两个功能?
第一次进入页面时,由于数据库没有数据,所以在表单里填写完数据后, 点击保存按钮,就可以调用后台的插入方法将数据都插入进数据库,那么 当同一个用户再次进入页面时,由于已经有数据了,页面上的表单里也把 数据显示了出来,那么如果用户修改了表单里的某些数据后,再点击保存 按钮时,怎么才能不调用后台的插入方法,而是调用更新方法来修改数据呢? 必须要在同一个按钮实现,不能添加一个新的修改按钮。
jsp页面中有一个插入行的功能,如何将新插入的行在原来所有行的最上一行显示
jsp页面中有一个 插入行的按钮和删除行的按钮,当新插入行时,如何将新插入的行在所有行的最上行显示,现在做的效果是:新插入的行在所有行的最下行显示
ExtJS按钮传参到JSP页面中默认执行JS函数
ExtJS 界面有一个打印按钮,点击打印按钮传个参数param1到JSP页面中,然后在执行一个fn函数,执行打印过程,这块应该如何写呢,请大家给个思路
关于JSP页面内嵌(显示)JSP的问题
我有一个JSPa,该JSP是主要JSP页面。 还有一个JSPb,该JSP是用来绘制图形的,比如画一个圆。。。 我在JSPa中点击了绘图按钮,并且传递部分数据到servlet中去,通过servlet处理后 再传递到JSPb中,绘制出一个图形。 然而这个时候,我想将JSPb绘制的图形显示在JSPa中。 有一个原始的方法,就是将JSPb中的绘图代码全部放在JSPa中,检测过是可行的。 不过因为目前的绘图代码量过大,而且在JSPa页面上有很多的逻辑部分,各种请求很多一不留神就崩溃。想用一种简洁的方式。 PS:在不使用框架的情况下。 各位工程师有没有什么靠谱的方法,满足上面的需求。
jsp:怎么实现点击下载按钮直接下载文件而不是在浏览器中直接打开
点击按钮下载的时候会有一个弹出框,可以选择是打开还是下载,请大神们给出一个代码实例
一个页面两个按钮触发的同一个弹框
问题: 一个jsp页面两个按钮触发的不同事件,打开一个弹框,但弹框里加载的是同一个页面,页面里内容是 datagrid也就是表格,为什么先点击按钮打开哪个弹框哪个表格有数据, 后打开的就没数据, 解决办法: 解决办法是写了两个事件,触发的内容一样,每个弹框在关闭时, 打开自己后,移除弹框,在加上弹框, 想知道: 不明白为什么会出现以上问题? 新手求解?希望详细点
在需要许多不同jsp页面反馈后台数据处理的错误信息的时候,如何只做一个error.jsp页面?
如题所示,本人现在在写一个结构比较简单的基于Jsp/Servlet的web系统。 不同jsp页面反馈后台数据处理的错误时候,如何只做一个error.jsp页面然后根据各个servlet情况显示错误信息? 比如在许多Servlet中,举一个例子: ``` //前略 if(MainDAO.createAssess(credit,usertype,ordersID,orderstype)>-1){ response.sendRedirect("/carpool/CreateAssessSuccess.jsp"); }else{ response.sendRedirect("/carpool/CreateAssessFailure.jsp"); System.out.println("创建评价失败!可能订单已被删除!"); } //后略 ``` 类似这种的Servlet还有很多,然后那些个xxxxSuccess.jsp和 xxxxFailure.jsp其实都是很简单的jsp页面,比如 ``` <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link href="/carpool/css/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet"> <link href="/carpool/css/flat-ui.min.css" rel="stylesheet"> <title>取消订单失败</title> </head> <body> <br/><br/> <center> <h3>取消订单失败!可能对方已经先你一步取消订单或已被管理员删除!</h3> <a href="/carpool/index.jsp"><b><u>返回主页</u></b></a> </center> </body> </html> ``` 所以能不能在Servlet怎样设置一下比如一个错误信息,然后传到同一个error.jsp里显示出来? 最近才接触前端脚本所以不太会,找了一下好像也都是说传参数(?但是好像重定向到error页面并不能传参数)。或者大多数解决方法是在后台里写 ``` public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { test1(response); } private void test1(HttpServletResponse response) throws IOException, UnsupportedEncodingException { response.setHeader("content-type", "text/html;charset=UTF-8"); String data = "发起订单失败!"; OutputStream os = response.getOutputStream(); os.write(data.getBytes("UTF-8")); } ``` 然后再用js写一行一行syso(<……>)来实现返回上一页按钮之类的。。但这样的话还不如一次复制一个jsp页面然后修改一行数据来得实在。。。所以有没有大神能教教我能不能如题那样实现。
在jsp页面,点击一个按钮,出现一个选择地址的弹出框,然后吧选择的地址传到后台
我在写Excel导出,功能已经实现了,但是我把那个存储位置给写死了,现在我想让页面弹出一个选择框 让用户自己选择地址。 我用的mvc框架,我不太明白这个弹出框怎么写的,是写前台还是 后台,还有网上说设置的一个头信息,我也不是很明白,不知道这个头信息写在哪 有牛人最好给我说的详细点! 最后贴个代码
Jsp页面跳转后,往回传值问题
各位大神好,我想请问一下, 我有两个JSP页面A和B A 里面有3个TAB页,点击任何一个TAB页就会隐藏其他两个的内容,并动态生成当前TAB页的内容。 默认是在TAB1上,进来就加载内容。 B 是点击TAB2里面的一个按钮之后跳转到的页面。 那么问题来了,我在B里面选择一个选项,如何将这个参数传回A呢? 我目前用的是window.location.href = " A.jsp? 参数=xxx " ; 但是问题是回到A页面的时候,默认是在TAB1上,而不是我点击按钮时的TAB2 我也试了 window.location.href = "A.jsp # TAB2 ? 参数= xxx "; 还是不行 请教大神,该怎么做呢?
求大神帮助。jsp点击按钮显示当前数据到新页面中
jsp从Servlet中获得了一个List,在页面中遍历显示出来,每条记录后面有一个修改按钮,点击修改按钮可以显示这条记录在弹出的页面中。如图 ![图片说明](https://img-ask.csdn.net/upload/201610/04/1475575855_787409.png) ![图片说明](https://img-ask.csdn.net/upload/201610/04/1475575868_506032.png) jsp页面部分代码如下: ``` <div class="showBox"> <table> <tr> <th>编号</th> <th>姓名</th> <th>性别</th> <th>工资</th> <th>职位</th> <th>学历</th> <th>部门</th> <th>入职日期</th> <th>操作</th> </tr> <c:forEach items="${sessionScope.pageBean.beanList}" var="list"> <tr> <td> <div><input type="checkbox" name="checkNum"/></div> ${list.em_id }</td> <td>${list.em_name }</td> <td>${list.em_gender }</td> <td>${list.em_salary }</td> <td>${list.em_position }</td> <td>${list.em_degree }</td> <td>${list.em_department }</td> <td>${list.date }</td> <td><img src="<%=basePath%>/img/delete.png"><a href="javascript:void(0);" onclick="DeleteEmployee()" class="delBox">删除</a> <a href="javascript:void(0);" onclick="ShowUpdateBox()" class="updBox"><img src="<%=basePath%>/img/update.png" />修改</a></td> </tr> </c:forEach> </table> </div> ```
jsp页面如何通过导航栏按钮实现对 iframe标签所嵌入网页的控制
最近用到了iframe标签,但我只会直接嵌入一个静态的页面啊,就像这样: ``` <iframe src="http://www.baidu.com" height="400" width="700" frameborder="0"></ifrmae> ``` 如果我想通过导航栏的按钮来控制ifame所嵌入的内容,应该怎样做? 我知道导航栏按钮那里有个 a href=XXXX iframe这里有个 src=XXXXX,如何建立它们之间的对应关系?
关于jsp跳转的问题,能不跳转么?
我现在有一个界面,上面有一个按钮,点击这个按钮,会请求一个jsp,这个jsp页面会向后台发送自己页面的代码,保存到数据库。现在的问题是我不想弹出浏览器出现jsp页面,而是点击按钮后,请求后的页面直接保存到数据库。![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/4.gif)
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入  假设现有4个人
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
【图解经典算法题】如何用一行代码解决约瑟夫环问题
约瑟夫环问题算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用 3 种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼。 问题描述:编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3…这样依次报),数到 m 的 士兵会被杀死出列,之后的士兵再从 1 开始报数。直到最后剩下一士兵,求这个士兵的编号。 1、方
致 Python 初学者
文章目录1. 前言2. 明确学习目标,不急于求成,不好高骛远3. 在开始学习 Python 之前,你需要做一些准备2.1 Python 的各种发行版2.2 安装 Python2.3 选择一款趁手的开发工具3. 习惯使用IDLE,这是学习python最好的方式4. 严格遵从编码规范5. 代码的运行、调试5. 模块管理5.1 同时安装了py2/py35.2 使用Anaconda,或者通过IDE来安装模
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
      11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下
日均350000亿接入量,腾讯TubeMQ性能超过Kafka
整理 | 夕颜出品 | AI科技大本营(ID:rgznai100) 【导读】近日,腾讯开源动作不断,相继开源了分布式消息中间件TubeMQ,基于最主流的 OpenJDK8开发的
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
相关热词 c# 二进制截断字符串 c#实现窗体设计器 c#检测是否为微信 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片
立即提问