plsql中Oracle存储过程

怎么用存储过程通过用户来查询用户菜单权限,以及增加用户菜单权限

sql

2个回答

时间问题:自己参考变通吧
http://blog.csdn.net/hackage4619/article/details/59075813

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
vs2012调用oracle存储过程返回输出字符串的值的问题
vs2012调用oracle存储过程返回输出字符串的值的问题,在plsql中执行存储过程是没有问题的,输出的字符串也有值,但在vs中取输出参数的值时,此字符串的值为null,但 如果输出为整数,则可以得到返回值。
vc可以调用plsql函数或者存储过程吗?
最近在学习oracle,主要学习了plsql块。发现这种语言操作数据库十分方便,如果可以在vc中直接调用plsql的函数或者存储过程会比直接使用sql语句方便很多,但是不知道用什么方式去调用,求解答?
plsql中的存储过程execute immediate相关问题
![图片说明](https://img-ask.csdn.net/upload/201908/22/1566461276_356108.jpg) create or replace procedure SP_GRN_PROCESS (kssj in date, jssj in date, typename in varchar2, result_process out sys_refcursor ) is v_sql varchar2(2000); begin v_sql :='select a.doc_subject, a.fd_number, b.fd_fact_node_name, to_char(b.fd_start_date,''yyyy-mm-dd hh24:mi:ss'') as fd_start_date, to_char(b.fd_finish_date,''yyyy-mm-dd hh24:mi:ss'') as fd_finish_date, b.fd_target_name from km_review_main a,lbpm_history_node b,km_review_template c where a.fd_id = b.fd_process_id and a.fd_template_id = c.fd_id and (to_char(b.fd_start_date,''yyyy-mm-dd'') = to_char( '''||kssj||''',''yyyy-mm-dd'') or '''||kssj||''' is null) and (to_char(b.fd_finish_date,''yyyy-mm-dd'') = to_char( '''||jssj||''',''yyyy-mm-dd'') or '''||jssj||''' is null) and'|| (' (c.fd_name LIKE ''%' || replace(typename,',','%'' OR c.fd_name LIKE ''%') || '%'')')|| ' order by a.doc_subject,fd_start_date asc'; open result_process for execute immediate v_sql; end SP_GRN_PROCESS; 这个 execute immediate v_sql执行的是没有问题,我debug有看了一下v_sql中的值,并拿出来执行,没问题。但我想要这个存储过程的结果集,所以加了游标,现在不知道要怎么把execute immediate v_sql放到游标里,或者有什么方法可以看到execute immediate v_sql执行后的结果集?求大神帮忙
oracle plsql存储过程调试 如何传入date参数
begin -- Call the procedure aa_get_lock_card_id(p_member_id => :p_member_id, p_month_max_times => :p_month_max_times, p_now_time => :p_now_time, p_start_time => :p_start_time, p_sys_info_info => :p_sys_info_info, r_trade_card_id => :r_trade_card_id, r_return_str => :r_return_str); end; 其中p_now_time是date类型,现在这个存储过程中有锁,我需要单步调式,但是在plsql中,test调式是需要传date类型的参数的,如 Variable Type Value p_now_time Date 直接写字符串类型的也是错的,不知道怎么写
oracle Plsql SQL窗口执行存储过程出错00900
创建存储过程语句: create procedure MailingListCount( ListCount OUT INTERGER ) IS v_row INTERGER; BEGIN select count(*) INTO v_rows FROM Customers WHERE NOT cust_eamil IS NULL; ListCont :=v_rows; END; 执行存储过程语句: var ReturnValue NUMBER EXEC MailingListCount(:ReturnValue); SELECT ReturnValue; 执行环境:PL/SQL SQL窗口 报错信息: ora-00900:invalid sql statement ![图片说明](https://img-ask.csdn.net/upload/201705/16/1494899532_193401.jpg) ora-00923:FROM keword not found where expected ![图片说明](https://img-ask.csdn.net/upload/201705/16/1494899968_775995.png)
oracle存储过程调用有几种方式?
用plsql编写存储过程的代码如下: ``` create or replace procedure p_1 is r emp%rowtype; n number(4); BEGIN n:=&n; dbms_output.put_line('姓名 薪水'); select * into r from emp where empno=n; dbms_output.put_line(r.ename||' '||r.sal); --输出结果,需要 set serverout on 才能显示. n:=r.sal; END; ``` 现在我的需求是在调用存储过程的时候才弹出对话框输入n的值,请代码如何修改?
plsql存储过程。求大神指点
存储过程怎么调用存储过程呢。写两个存储过程,一个存储过程有一个参数,当参数为Y时,写入记录数,当为N时不写入。另一个存储过程记运行时间和结束时间
Oracle存储过程报错:pls 00201 必须声明标识符
刚接触plsql 我在当前用户创建了一个存储过程并编译成功,然后调用 为什么报错 ora-06550:第4行第3列 pls 00201 必须声明标识符 代码如下 ``` 创建: create or replace procedure test_sse(v_num OUT VARCHAR2) IS BEGIN v_num :='lala'; dbms_output.put_line('v_num:'||v_num); END; 调用: DECLARE ta Varchar2(10); BEGIN test_see(ta); dbms_output.put_line(ta); COMMIT; END; ```
plsql,test调试存储过程120分钟,session被自动kill掉,test窗口仍然显示正常
plsql,test调试存储过程120分钟, session被自动kill掉,查询 active session已不存在, test窗口仍然显示正常
oracle存储过程报错,plsql执行也有这报错
SQL> create or replace procedure logexecution is 2 begin 3 insert into logtable(userid,logdate) values(user,sysdate); 4 end; 5 / Warning: Procedure created with compilation errors.
java项目中含dblink查询失败在plsql中执行正常
使用的oracle12c,Linux系统 dblink查询的时候遇到下面的问题,sql在plsql中查询1s左右就能完成,但是在java项目中,页面访问的时候查询不到结果,页面刷新按钮一直在转圈圈 ![图片说明](https://img-ask.csdn.net/upload/201912/03/1575333864_408013.png) 创建存储过程手动执行没有问题,但是设置自动执行的时候会出错,如下: ![图片说明](https://img-ask.csdn.net/upload/201912/03/1575337818_932671.png)
oracle 存储过程 返回复合数据类型(index by表) ibatis如何接受
最近有个问题一直困扰着,希望各位能给予帮助。 先贴代码: 1 <parameterMap class="map" id="UserIndexParam"> 2 <parameter property="PRM_USERID" javaType="java.lang.Object" 3 jdbcType="Object" mode="IN" /> 4 <parameter property="PRM_OBJECTS" javaType="java.sql.ResultSet" 5 jdbcType="ARRAY" mode="OUT" typeHandler="com.diy.object.entity.ObjectTypeHandler" /> 6 <parameter property="PRM_TAGS" javaType="java.sql.ResultSet" 7 jdbcType="ARRAY" mode="OUT" typeHandler="com.diy.tag.entity.TagsTypeHandler" /> 8 <parameter property="PRM_APPCODE" javaType="java.lang.String" 9 jdbcType="VARCHAR" mode="OUT" /> 10 <parameter property="PRM_ERRMSG" javaType="java.lang.String" 11 jdbcType="VARCHAR" mode="OUT" /> 12 </parameterMap> 13 14 <procedure id="prc_user_index" parameterMap="UserIndexParam"> 15 {call 16 PKG_USER.PRC_USER_INDEXVIEW(?,?,?,?,?)} 17 </procedure> 这个ibatis的配置文件. 在网上查了很久,说是用typeHandler和jdbcType来解决解决oracle复合类型, 1 package com.diy.tag.entity; 2 3 import java.sql.CallableStatement; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 import java.util.ArrayList; 8 import java.util.List; 9 10 import oracle.sql.Datum; 11 import oracle.sql.STRUCT; 12 13 import com.ibatis.sqlmap.engine.type.TypeHandler; 14 15 public class TagsTypeHandler implements TypeHandler { 16 17 /** 18 * @Description: 这个方法重点 19 * @param cs 20 * @param arg1 21 * @throws SQLException 22 */ 23 public java.lang.Object getResult(CallableStatement cs, int arg1) 24 throws SQLException { 25 List<Tag> list = new ArrayList<Tag>(); 26 ResultSet rs = cs.getArray(arg1).getResultSet(); 27 while (rs.next()) { 28 Datum[] data = ((STRUCT)rs.getObject(2)).getOracleAttributes(); 29 Tag tag = new Tag(); 30 if (data[0] != null) { 31 tag.setTagid(new Long(data[0].getBytes().toString())); 32 } 33 list.add(tag); 34 } 35 return list; 36 } 37 38 @Override 39 public boolean equals(java.lang.Object arg0, String arg1) { 40 // TODO Auto-generated method stub 41 return false; 42 } 43 44 @Override 45 public java.lang.Object getResult(ResultSet arg0, String arg1) 46 throws SQLException { 47 // TODO Auto-generated method stub 48 return null; 49 } 50 51 @Override 52 public java.lang.Object getResult(ResultSet arg0, int arg1) 53 throws SQLException { 54 // TODO Auto-generated method stub 55 return null; 56 } 57 58 59 60 @Override 61 public void setParameter(PreparedStatement arg0, int arg1, 62 java.lang.Object arg2, String arg3) throws SQLException { 63 // TODO Auto-generated method stub 64 65 } 66 67 @Override 68 public java.lang.Object valueOf(String arg0) { 69 // TODO Auto-generated method stub 70 return null; 71 } 72 73 } 这个是java代码,其中一个handler处理类 1 --定义 object表 对象 2 TYPE object_arr IS TABLE OF OBJECT%ROWTYPE INDEX BY BINARY_INTEGER; 3 4 --定义 tag index_by表 5 TYPE table_tag IS TABLE OF TAGS_INFO INDEX BY BINARY_INTEGER; 这个定义的oracle复合类型 1 PROCEDURE PRC_USER_INDEXVIEW(PRM_USERID IN VARCHAR2, 2 PRM_OBJECTS OUT PKG_COMM.OBJECT_ARR, 3 PRM_TAGS OUT PKG_COMM.table_tag, 4 PRM_APPCODE OUT VARCHAR2, 5 PRM_ERRMSG OUT VARCHAR2) IS 6 N_FLAG NUMBER; 7 VAR_FIRSTTAG VARCHAR2(100); 8 VAR_DUSERID VARCHAR2(100); 9 --用户兴趣标签 10 CURSOR CUR_USERTAG IS 11 SELECT C.TAGID, C.NAME 12 FROM USERSDETIAL A, TAGRELATION B, TAG C 13 WHERE A.DUSERSID = B.DUSERSID 14 AND B.TAGID = C.TAGID 15 AND A.DUSERSID = VAR_DUSERID; 16 --公共兴趣标签 17 CURSOR CUR_USERPUB IS 18 SELECT T.* 19 FROM (SELECT ROWNUM AS RNUM, 20 COUNT(A.DUSERSID) AS CNUM, 21 B.TAGID, 22 B.NAME 23 FROM TAGRELATION A, TAG B 24 WHERE A.TAGID = B.TAGID 25 GROUP BY A.TAGID) T 26 WHERE RNUM <= 8 27 ORDER BY T.CNUM DESC; 28 --object 29 CURSOR CUR_OBJ(VAR_TAGID VARCHAR2) IS 30 SELECT ROWNUM AS RN, A.* 31 FROM OBJECT A 32 WHERE trim(A.TAGID) = VAR_TAGID 33 AND ROWNUM < 30; 34 35 REC_USERTAG CUR_USERTAG%ROWTYPE; 36 REC_USERPUB CUR_USERPUB%ROWTYPE; 37 REC_OBJ OBJECT%ROWTYPE; 38 BEGIN 39 PRM_APPCODE := PKG_COMM.DEF_OK; 40 PRM_ERRMSG := ''; 41 42 IF PRM_USERID IS NULL THEN 43 PRM_APPCODE := PKG_COMM.DEF_ERR; 44 PRM_ERRMSG := '参数未定义'; 45 RETURN; 46 END IF; 47 --用户详细ID是否存在 48 SELECT B.DUSERSID 49 INTO VAR_DUSERID 50 FROM USERS A, USERSDETIAL B 51 WHERE A.USERID = B.USERSID 52 AND A.USERID = PRM_USERID; 53 IF VAR_DUSERID IS NULL THEN 54 PRM_APPCODE := PKG_COMM.DEF_ERR; 55 PRM_ERRMSG := '参数无效'; 56 RETURN; 57 END IF; 58 --1.判断是否为有效用户 59 SELECT NVL(A.FLAG, 1) 60 INTO N_FLAG 61 FROM USERS A, USERSDETIAL B 62 WHERE A.Userid = B.USERSID 63 AND B.DUSERSID = VAR_DUSERID; 64 65 IF N_FLAG = 1 THEN 66 PRM_APPCODE := PKG_COMM.DEF_ERR; 67 PRM_ERRMSG := '用户已被禁止登录'; 68 RETURN; 69 END IF; 70 71 --2.判断用户是否有兴趣tag 72 73 FOR REC_USERTAG IN CUR_USERTAG LOOP 74 75 IF CUR_USERTAG%ROWCOUNT = 0 THEN 76 --获取公共兴趣游标 77 FOR REC_USERPUB IN CUR_USERPUB LOOP 78 IF CUR_USERPUB%ROWCOUNT = 1 THEN 79 VAR_FIRSTTAG := REC_USERPUB.TAGID; 80 END IF; 81 PRM_TAGS(CUR_USERPUB%ROWCOUNT).TAGID := REC_USERPUB.TAGID; 82 PRM_TAGS(CUR_USERPUB%ROWCOUNT).TAGNAME := REC_USERPUB.NAME; 83 END LOOP; 84 ELSIF CUR_USERTAG%ROWCOUNT = 1 THEN 85 VAR_FIRSTTAG := REC_USERTAG.TAGID; 86 END IF; 87 PRM_TAGS(CUR_USERTAG%ROWCOUNT).TAGID := REC_USERTAG.TAGID; 88 PRM_TAGS(CUR_USERTAG%ROWCOUNT).TAGNAME := REC_USERTAG.NAME; 89 END LOOP; 90 91 IF PRM_TAGS.count <> 0 THEN 92 --3. 取出object 93 FOR REC_OBJ IN CUR_OBJ(VAR_FIRSTTAG) LOOP 94 PRM_OBJECTS(CUR_OBJ%ROWCOUNT).OWNERID := REC_OBJ.OWNERID; 95 PRM_OBJECTS(CUR_OBJ%ROWCOUNT).OBJECTID := REC_OBJ.OBJECTID; 96 PRM_OBJECTS(CUR_OBJ%ROWCOUNT).DBUSID := REC_OBJ.DBUSID; 97 PRM_OBJECTS(CUR_OBJ%ROWCOUNT).DUSERSID := REC_OBJ.DUSERSID; 98 PRM_OBJECTS(CUR_OBJ%ROWCOUNT).TAGID := REC_OBJ.TAGID; 99 PRM_OBJECTS(CUR_OBJ%ROWCOUNT).LOVENUM := REC_OBJ.LOVENUM; 100 PRM_OBJECTS(CUR_OBJ%ROWCOUNT).INRUDUCTION := REC_OBJ.INRUDUCTION; 101 PRM_OBJECTS(CUR_OBJ%ROWCOUNT).CATAGROY := REC_OBJ.CATAGROY; 102 PRM_OBJECTS(CUR_OBJ%ROWCOUNT).Imagepath := REC_OBJ.Imagepath; 103 104 END LOOP; 105 END IF; 106 107 EXCEPTION 108 WHEN OTHERS THEN 109 PRM_APPCODE := PKG_COMM.DEF_ERR; 110 PRM_ERRMSG := '获取主界面数据失败' || '错误原因:' || PRM_ERRMSG || '-' || SQLERRM || 111 '错误行数:' || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE(); 112 END; 这个是存储过程的实现,过程没有问题,plsql调试正常!!! 现在我可以确定问题在 1.ibatis xml文件中jdbcType 和typeHandler的配置问题 1 <parameter property="PRM_OBJECTS" javaType="java.sql.ResultSet" 2 5 jdbcType="ARRAY" mode="OUT" typeHandler="com.diy.object.entity.ObjectTypeHandler" /> 3 6 <parameter property="PRM_TAGS" javaType="java.sql.ResultSet" 4 7 jdbcType="ARRAY" mode="OUT" typeHandler="com.diy.tag.entity.TagsTypeHandler" /> 2.java typeHandler类的返回值 还有一个附带的问题:index by 表不能在数据库中存储,而嵌套表可以存储在数据库中。是不是说index by 表 像java 方法中声明的变量,方法结束,其变量的生命周期就结束了??? 谢谢!!!
plsql查看存储过程目录报错ora-03114 未连接到数据库(oracle11G)
![图片说明](https://img-ask.csdn.net/upload/201504/24/1429867582_765339.jpg) 只要一点击左边的小箭头就报错,而且无法查看里面的内容,但是打开一个sql窗口却可以查询数据,并不是真的连接不上数据库,还请各位大神帮忙
JAVA调用ORACLE存储过程问题
这个是我的JAVA程序 public void insertTel_res_rowfame(MDFRowframeresDTO md, String userName) throws SQLException { if (md.getStartNo().length() != 0) { int startNo = Integer.parseInt(md.getStartNo()); int endNo = Integer.parseInt(md.getEndNo()); int RES_ID = ge .getMaxDev("select max(RES_ID) from TEL_RES_ROWFRAME_RES");// 横列资源ID db .setCStatement("begin UPLOAD_MDF_ROWFRAME(?,?,?,?,?,?,?,?); end;"); db.cstmt.setInt(1, bureau_id); db.cstmt.setInt(2, mdf_id); db.cstmt.setString(3, md.getMdfcode()); db.cstmt.setString(4, md.getHlbcode()); db.cstmt.setString(5, userName); db.cstmt.setInt(6, startNo); db.cstmt.setInt(7, endNo); db.cstmt.setInt(8, RES_ID); db.cstmt.executeUpdate(); db.commit(); db.cstmt.close(); System.out.println("正在插入表(TEL_RES_ROWFRAME_RES)述据"); System.out.println("bureau_id=" + bureau_id + "mdf_id=" + mdf_id + "mdf_code=" + md.getMdfcode() + md.getHlbcode() + "start_no=" + startNo + "end_no=" + endNo+"res_id="+RES_ID); } } 这个是数据库连接类 连接没有问题; // 调用存储过程 public void setCStatement(String cstatment) throws SQLException { cstmt = con.prepareCall(cstatment); } 这个是存储过程,用PLSQL测试都能成功,但是用JAVA调用也没有错误,就是数据没有INSERT进去; CREATE OR REPLACE PROCEDURE UPLOAD_MDF_ROWFRAME( BUREAU_ID IN TEL_SYS_BUREAU.BUREAU_ID%TYPE, --接入间编码 MDF_ID IN TEL_RES_LAYOUTFRAME_DEV.DEV_ID%TYPE, --设备ID MDF_CODE IN TEL_RES_ROWFRAME_RES.ROW_NO%type, --MDF编码 MDF_HLBCODE IN TEL_RES_ROWFRAME_RES.ROW_BLOCK_NO%type, -- MDF横列板编码 USERNAME IN TEL_RES_ROWFRAME_RES.USERNAME%TYPE, --导入用户名 IN_RES_ID TEL_RES_ROWFRAME_RES.RES_ID%TYPE, --资源ID START_NO IN int, --开始设备号 END_NO IN Int )is --终止设备号 RES_ID TEL_RES_ROWFRAME_RES.RES_ID%TYPE; temVar NUMBER; x NUMBER; CODE VARCHAR2(10); BEGIN RES_ID :=IN_RES_ID; temVar :=0; CODE:='0'; x:=START_NO-1; loop RES_ID:=RES_ID+1; x:=x+1; exit when x>END_NO; CODE :=x; IF LENGTH(CODE)<3 THEN CODE:='0'||CODE; END IF; IF LENGTH(CODE)<3 THEN CODE :='0'||CODE; END IF; select count(*) into temVar from TEL_RES_ROWFRAME_RES where BUREAU_ID=bureau_id and DEV_ID=mdf_id and RES_CODE= MDF_CODE||'-'||MDF_HLBCODE||'_'||CODE; IF temVar=0 THEN INSERT INTO TEL_RES_ROWFRAME_RES ( BUREAU_ID,DEV_ID,RES_ID,RES_CODE,ROW_NO,ROW_BLOCK_NO,ROW_PORT_NO,STATE_ID,NOTE,VER_NUMBER,INSERT_TIME,INSERT_FLAG,USERNAME ) VALUES(bureau_id,MDF_ID,RES_ID+1,MDF_CODE||'-'||MDF_HLBCODE||'_'||CODE,MDF_CODE,MDF_HLBCODE,x,1,NULL,0,SYSDATE,0,USERNAME); COMMIT; END IF; END LOOP; END UPLOAD_MDF_ROWFRAME; 在控制台打印出 正在插入表(TEL_RES_ROWFRAME_RES)述据 bureau_id=10200mdf_id=97mdf_code=0101H01start_no=0end_no=31res_id=15 正在插入表(TEL_RES_ROWFRAME_RES)述据 bureau_id=10200mdf_id=97mdf_code=0101H01start_no=32end_no=63res_id=15 正在插入表(TEL_RES_ROWFRAME_RES)述据 bureau_id=10200mdf_id=97mdf_code=0101H01start_no=64end_no=95res_id=15 正在插入表(TEL_RES_ROWFRAME_RES)述据 bureau_id=10200mdf_id=97mdf_code=0101H01start_no=96end_no=127res_id=15
操作同一个存储过程结果不同
vs2012调用oracle的存储过程,代码显示插入成功,单步调试,调用存储过程的地方也成功了,但数据库中没相应数据,然而在plsql中执行相同操作,插入后有数据。 站半天不知道问题在哪儿,恳请高人不吝赐教。
Kettle中调用带传入和输出参数的存储过程
在plsql中执行方式如图: ![图片说明](https://img-ask.csdn.net/upload/201908/02/1564730534_803761.png) kettle中参数设置如图: ![图片说明](https://img-ask.csdn.net/upload/201908/02/1564730249_444389.png) 脚本执行成功,数据没有更新,求教kettle中如何调用带传入和输出参数的存储过程 ![图片说明](https://img-ask.csdn.net/upload/201908/02/1564730329_758149.png)
用PLSQL如何自动删除oracle表中重复的数据
1.想用procedure来创建存储过程,但是提示报错 2.CREATE OR REPLACE PROCEDURE "INS_HIS_DEL" AS BEGIN delete from INSPECTION_HISTORY t where (t.point_key,t.inspection_date) in (select t.point_key,t.inspection_date from INSPECTION_HISTORY t group by t.point_key,t.inspection_date having count(*) > 1) and rowid not in (select min(rowid) from INSPECTION_HISTORY t group by t.point_key,t.inspection_date having count(*)>1) END; 3.正确的语句应该怎么写
Oracle中session出现network waitting
存储过程在plsql中调用时很顺利,几分钟就出结果了。但是通过sqlplus调用时执行到一定过程时session就一直处于network waitting的状态
plsql存储不能调用,调用了没有任何反应
create or replace procedure add_jobs(p_job_id in hr.jobs.job_id%type, p_job_title in hr.jobs.job_title%type, p_min_salary in hr.jobs.min_salary%type)is v_max_salary hr.jobs.max_salary%type; begin v_max_salary:=2 * p_min_salary; insert into hr.jobs (job_id,job_title,min_salary,max_salary) values (p_job_id,p_job_title,p_min_salary,v_max_salary); dbms_output.put_line('added the following row into the jobs table...'); dbms_output.put_line(p_job_id || ' ' || p_job_title || ' ' || p_min_salary || ' ' || v_max_salary); end add_jobs; 在procedure窗口写了如上一个存储过程,然后在失去了 Window里面调用:execute add_jobs('SY_ANAL', 'system analyst', 6000);为什么没有调用起呢?没有任何反应,任何我在procedure窗口里面编译存储过程时报错了 insert into hr.jobs这一句有问题。初学oracle,跪求大神指点
爬虫福利二 之 妹子图网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# oracle 开发 c#选择字体大小的控件 c# usb 批量传输 c#10进制转8进制 c#转base64 c# 科学计算 c#下拉列表获取串口
立即提问